diff --git a/ChangeLog b/ChangeLog index 82450076657..ee33959ea85 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,8 @@ English Dolibarr ChangeLog ***** ChangeLog for 2.9 compared to 2.8 ***** For users: +- New: Add module externalsite to add a web site/tools inside + menu and a Dolibarr frame. - New: Can link trips and fees to a project. - New: Add civility title in foundation module. - New: Can set accountancy code for product (buy and sell). diff --git a/htdocs/admin/externalsite.php b/htdocs/admin/externalsite.php new file mode 100644 index 00000000000..b9f0bc2ed2e --- /dev/null +++ b/htdocs/admin/externalsite.php @@ -0,0 +1,110 @@ + + * Copyright (C) 2003 Eric Seigne + * Copyright (C) 2004-2010 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/** + * \file htdocs/admin/webcalendar.php + * \ingroup webcalendar + * \brief Page de configuration du module webcalendar + * \version $Id$ + */ + +require("../main.inc.php"); +require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); + + +if (!$user->admin) + accessforbidden(); + + +$langs->load("admin"); +$langs->load("other"); + +$def = array(); + +// Sauvegardes parametres +if ($_POST["action"] == 'update') +{ + $i=0; + + $db->begin(); + + $i+=dolibarr_set_const($db,'EXTERNALSITE_URL',trim($_POST["EXTERNALSITE_URL"]),'chaine',0,'',$conf->entity); + + if ($i >= 1) + { + $db->commit(); + $mesg = "".$langs->trans("SetupSaved").""; + } + else + { + $db->rollback(); + $mesg=$db->lasterror(); + } +} + + +/** + * View + */ + +llxHeader(); + +$linkback=''.$langs->trans("BackToModuleList").''; +print_fiche_titre($langs->trans("ExternalSiteSetup"),$linkback,'setup'); +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("ExternalSiteURL")."global->EXTERNALSITE_URL) . "\" size=\"40\">http://localhost/myurl/"; +print "
http://wikipedia.org/"; +print "
"; + + +print '
'; +print "trans("Save")."\">"; +print "
"; + +print "
\n"; + + +if ($mesg) print "
$mesg
"; + +$db->close(); + +llxFooter('$Date$ - $Revision$'); +?> diff --git a/htdocs/externalsite/frames.php b/htdocs/externalsite/frames.php index 6ab838f7227..f6a324f8ed9 100644 --- a/htdocs/externalsite/frames.php +++ b/htdocs/externalsite/frames.php @@ -18,7 +18,7 @@ * $Id$ */ -/** \file htdocs/frames/frames.php +/** \file htdocs/externalsite/frames.php \ingroup externalsite \brief Page that build two frames: One for menu, the other for the target page to show \author Laurent Destailleur @@ -27,10 +27,10 @@ require("../main.inc.php"); -if (empty($conf->global->PHPMANTIS_URL)) +if (empty($conf->global->EXTERNALSITE_URL)) { llxHeader(); - print '
Module Mantis was not configured properly.
'; + print '
Module ExternalSite was not configured properly.
'; llxFooter('$Date$ - $Revision$'); } @@ -40,12 +40,12 @@ $leftmenu=isset($_GET["leftmenu"])?$_GET["leftmenu"]:""; print " -Dolibarr frame for Mantis +Dolibarr frame for external web site - - global->PHPMANTIS_URL."\"> + + global->EXTERNALSITE_URL."\"> <body> @@ -56,8 +56,8 @@ print " <noframes> <body> <br><center> - Malheureusement, votre navigateur est trop vieux pour visualiser cette zone.<br> - Il vous faut un navigateur g�rant les frames.<br> + 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/includes/modules/modExternalSite.class.php b/htdocs/includes/modules/modExternalSite.class.php new file mode 100644 index 00000000000..74f7f516b19 --- /dev/null +++ b/htdocs/includes/modules/modExternalSite.class.php @@ -0,0 +1,145 @@ + + * Copyright (C) 2004-2010 Laurent Destailleur + * Copyright (C) 2005-2009 Regis Houssin + * + * 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. + */ + +/** \defgroup externalsite Module externalsite + \brief Module to include an external web site/tools into Dolibarr menu and into a frame page. + \version $Id$ +*/ + +/** + \file htdocs/includes/modules/modExternalSite.class.php + \ingroup externalsite + \brief Description and activation file for module ExternalSite +*/ + +include_once(DOL_DOCUMENT_ROOT ."/includes/modules/DolibarrModules.class.php"); + + +/** \class modExternalSite + \brief Description and activation class for module ExternalSite +*/ + +class modExternalSite extends DolibarrModules +{ + + /** + * \brief Constructor. Define names, constants, directories, boxes, permissions + * \param DB Database handler + */ + function modExternalSite($DB) + { + $this->db = $DB; + + // Id for module (must be unique). + // Use here a free id. + $this->numero = 100; + + // Family can be 'crm','financial','hr','projects','product','technic','other' + // It is used to sort modules in module setup page + $this->family = "other"; + // 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 if translation string 'ModuleXXXDesc' not found (XXX is id value) + $this->description = "Include any external web site into Dolibarr menus and view it into a Dolibarr frame."; + // Possible values for version are: 'development', 'experimental', 'dolibarr' or version + $this->version = 'dolibarr'; + // Key used in llx_const table to save module status enabled/disabled (XXX is id value) + $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='bookmark'; + + // Data directories to create when module is enabled + $this->dirs = array(); + + // Config pages. Put here list of php page names stored in admmin directory used to setup module + $this->config_page_url = array("externalsite.php"); + + // Dependencies + $this->depends = array(); // List of modules id that must be enabled if this module is 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 + $r=0; + + // Add here list of php file(s) stored in includes/boxes that contains class to show a box. + // Example: + //$this->boxes[$r][1] = "myboxa.php"; + //$r++; + //$this->boxes[$r][1] = "myboxb.php"; + //$r++; + + // Permissions + $this->rights_class = 'externalsite'; // Permission key + $this->rights = array(); // Permission array used by this module + + // Menus + //------ + $r=0; + + $this->menu[$r]=array('fk_menu'=>0, + 'type'=>'top', + 'titre'=>'ExternalSites', + 'mainmenu'=>'externalsite', + 'leftmenu'=>'1', + 'url'=>'/externalsite/frames.php', + 'langs'=>'other', + 'position'=>100, + 'perms'=>'', + 'enabled'=>'$conf->externalsite->enabled', + 'target'=>'', + 'user'=>0 + ); + $r++; + + } + + /** + * \brief Function called when module is enabled. + * The init function add previous 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/includes/modules/modMantis.class.php b/htdocs/includes/modules/modMantis.class.php index dac21e75b02..5d716c5ee62 100644 --- a/htdocs/includes/modules/modMantis.class.php +++ b/htdocs/includes/modules/modMantis.class.php @@ -58,7 +58,7 @@ class modMantis extends DolibarrModules // 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 = 'dolibarr'; + $this->version = 'experimental'; // 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) diff --git a/htdocs/mantis/mantis.php b/htdocs/mantis/mantis.php index b0d5d6fca23..a475d74fc11 100644 --- a/htdocs/mantis/mantis.php +++ b/htdocs/mantis/mantis.php @@ -56,8 +56,8 @@ print " <body> <br><center> - Malheureusement, votre navigateur est trop vieux pour visualiser cette zone.<br> - Il vous faut un navigateur g�rant les frames.<br> + 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/phenix/phenix.php b/htdocs/phenix/phenix.php index f5b4afbed72..ec1f301bab0 100644 --- a/htdocs/phenix/phenix.php +++ b/htdocs/phenix/phenix.php @@ -54,8 +54,8 @@ print " <body> <br><center> - Malheureusement, votre navigateur est trop vieux pour visualiser cette zone.<br> - Il vous faut un navigateur g�rant les frames.<br> + 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/webcal/webcal.php b/htdocs/webcal/webcal.php index e158c576a0b..6649bc374e9 100644 --- a/htdocs/webcal/webcal.php +++ b/htdocs/webcal/webcal.php @@ -54,8 +54,8 @@ print " <body> <br><center> - Malheureusement, votre navigateur est trop vieux pour visualiser cette zone.<br> - Il vous faut un navigateur gerant les frames.<br> + Sorry, your browser is too old or not correctly configured to view this area.<br> + Your browser must support frames.<br> </center> </body>