REVIEWED THE FILE INCLUSION POLICY

- includes are relative to the application root folder, aka APPROOT
- changed the config file, while preserving the compatibility with older installs

SVN:trunk[962]
This commit is contained in:
Romain Quetiez
2010-11-22 17:53:52 +00:00
parent d0f168adbb
commit d8bb6a45b2
59 changed files with 369 additions and 308 deletions

View File

@@ -24,7 +24,8 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once("../application/webpage.class.inc.php"); require_once('../approot.inc.php');
require_once(APPROOT."/application/webpage.class.inc.php");
class ajax_page extends WebPage class ajax_page extends WebPage
{ {

View File

@@ -23,13 +23,13 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/applicationcontext.class.inc.php'); require_once(APPROOT.'/application/applicationcontext.class.inc.php');
require_once('../application/cmdbabstract.class.inc.php'); require_once(APPROOT.'/application/cmdbabstract.class.inc.php');
require_once('../application/displayblock.class.inc.php'); require_once(APPROOT.'/application/displayblock.class.inc.php');
require_once('../application/audit.category.class.inc.php'); require_once(APPROOT.'/application/audit.category.class.inc.php');
require_once('../application/audit.rule.class.inc.php'); require_once(APPROOT.'/application/audit.rule.class.inc.php');
//require_once('../application/menunode.class.inc.php'); //require_once(APPROOT.'/application/menunode.class.inc.php');
require_once('../application/utils.inc.php'); require_once(APPROOT.'/application/utils.inc.php');
class ApplicationException extends CoreException class ApplicationException extends CoreException
{ {

View File

@@ -23,7 +23,7 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once("../application/utils.inc.php"); require_once(APPROOT."/application/utils.inc.php");
/** /**
* Helper class to store and manipulate the parameters that make the application's context * Helper class to store and manipulate the parameters that make the application's context
* *

View File

@@ -25,7 +25,7 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/cmdbabstract.class.inc.php'); require_once(APPROOT.'/application/cmdbabstract.class.inc.php');
class AuditCategory extends cmdbAbstractObject class AuditCategory extends cmdbAbstractObject
{ {

View File

@@ -26,7 +26,7 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/audit.category.class.inc.php'); require_once(APPROOT.'/application/audit.category.class.inc.php');
class AuditRule extends cmdbAbstractObject class AuditRule extends cmdbAbstractObject
{ {

View File

@@ -24,7 +24,7 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once("../application/webpage.class.inc.php"); require_once(APPROOT."/application/webpage.class.inc.php");
class CLIPage class CLIPage
{ {

View File

@@ -31,13 +31,13 @@ define('HILIGHT_CLASS_WARNING', 'orange');
define('HILIGHT_CLASS_OK', 'green'); define('HILIGHT_CLASS_OK', 'green');
define('HILIGHT_CLASS_NONE', ''); define('HILIGHT_CLASS_NONE', '');
require_once('../core/cmdbobject.class.inc.php'); require_once(APPROOT.'/core/cmdbobject.class.inc.php');
require_once('../application/utils.inc.php'); require_once(APPROOT.'/application/utils.inc.php');
require_once('../application/applicationcontext.class.inc.php'); require_once(APPROOT.'/application/applicationcontext.class.inc.php');
require_once('../application/ui.linkswidget.class.inc.php'); require_once(APPROOT.'/application/ui.linkswidget.class.inc.php');
require_once('../application/ui.passwordwidget.class.inc.php'); require_once(APPROOT.'/application/ui.passwordwidget.class.inc.php');
require_once('../application/ui.autocompletewidget.class.inc.php'); require_once(APPROOT.'/application/ui.autocompletewidget.class.inc.php');
require_once('../application/ui.htmleditorwidget.class.inc.php'); require_once(APPROOT.'/application/ui.htmleditorwidget.class.inc.php');
abstract class cmdbAbstractObject extends CMDBObject abstract class cmdbAbstractObject extends CMDBObject
{ {

View File

@@ -24,7 +24,7 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once("../application/webpage.class.inc.php"); require_once(APPROOT."/application/webpage.class.inc.php");
class CSVPage extends WebPage class CSVPage extends WebPage
{ {

View File

@@ -23,8 +23,8 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/webpage.class.inc.php'); require_once(APPROOT.'/application/webpage.class.inc.php');
require_once('../application/utils.inc.php'); require_once(APPROOT.'/application/utils.inc.php');
/** /**
* Helper class to manage 'blocks' of HTML pieces that are parts of a page and contain some list of cmdb objects * Helper class to manage 'blocks' of HTML pieces that are parts of a page and contain some list of cmdb objects
* *
@@ -757,7 +757,7 @@ EOF
break; break;
case 'open_flash_chart_ajax': case 'open_flash_chart_ajax':
include '../pages/php-ofc-library/open-flash-chart.php'; require_once(APPROOT.'/pages/php-ofc-library/open-flash-chart.php');
$sChartType = isset($aExtraParams['chart_type']) ? $aExtraParams['chart_type'] : 'pie'; $sChartType = isset($aExtraParams['chart_type']) ? $aExtraParams['chart_type'] : 'pie';
$oChart = new open_flash_chart(); $oChart = new open_flash_chart();

View File

@@ -23,7 +23,7 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/cmdbabstract.class.inc.php'); require_once(APPROOT.'/application/cmdbabstract.class.inc.php');
/** /**
* This class manages the input/output tasks * This class manages the input/output tasks

View File

@@ -23,9 +23,9 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once("../application/nicewebpage.class.inc.php"); require_once(APPROOT."/application/nicewebpage.class.inc.php");
require_once("../application/applicationcontext.class.inc.php"); require_once(APPROOT."/application/applicationcontext.class.inc.php");
require_once("../application/user.preferences.class.inc.php"); require_once(APPROOT."/application/user.preferences.class.inc.php");
/** /**
* Web page with some associated CSS and scripts (jquery) for a fancier display * Web page with some associated CSS and scripts (jquery) for a fancier display
*/ */

View File

@@ -23,7 +23,7 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once("../application/nicewebpage.class.inc.php"); require_once(APPROOT."/application/nicewebpage.class.inc.php");
/** /**
* Web page used for displaying the login form * Web page used for displaying the login form
*/ */
@@ -393,7 +393,7 @@ EOF
if ($bMustBeAdmin && !UserRights::IsAdministrator()) if ($bMustBeAdmin && !UserRights::IsAdministrator())
{ {
require_once('../setup/setuppage.class.inc.php'); require_once(APPROOT.'/setup/setuppage.class.inc.php');
$oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError')); $oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError'));
$oP->add("<h1>".Dict::S('UI:Login:Error:AccessAdmin')."</h1>\n"); $oP->add("<h1>".Dict::S('UI:Login:Error:AccessAdmin')."</h1>\n");
$oP->p("<a href=\"../pages/logoff.php\">".Dict::S('UI:LogOffMenu')."</a>"); $oP->p("<a href=\"../pages/logoff.php\">".Dict::S('UI:LogOffMenu')."</a>");

View File

@@ -23,8 +23,8 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/utils.inc.php'); require_once(APPROOT.'/application/utils.inc.php');
require_once('../application/template.class.inc.php'); require_once(APPROOT.'/application/template.class.inc.php');
/** /**

View File

@@ -23,7 +23,7 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once("../application/webpage.class.inc.php"); require_once(APPROOT."/application/webpage.class.inc.php");
/** /**
* Web page with some associated CSS and scripts (jquery) for a fancier display * Web page with some associated CSS and scripts (jquery) for a fancier display
*/ */

View File

@@ -23,9 +23,9 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once("../application/nicewebpage.class.inc.php"); require_once(APPROOT."/application/nicewebpage.class.inc.php");
require_once("../application/applicationcontext.class.inc.php"); require_once(APPROOT."/application/applicationcontext.class.inc.php");
require_once("../application/user.preferences.class.inc.php"); require_once(APPROOT."/application/user.preferences.class.inc.php");
/** /**
* Web page with some associated CSS and scripts (jquery) for a fancier display * Web page with some associated CSS and scripts (jquery) for a fancier display
* of the Portal web page * of the Portal web page

View File

@@ -23,8 +23,8 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../core/cmdbobject.class.inc.php'); require_once(APPROOT.'/core/cmdbobject.class.inc.php');
require_once('../application/utils.inc.php'); require_once(APPROOT.'/application/utils.inc.php');
MetaModel::Startup(ITOP_CONFIG_FILE); MetaModel::Startup(ITOP_CONFIG_FILE);

View File

@@ -23,7 +23,7 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/displayblock.class.inc.php'); require_once(APPROOT.'/application/displayblock.class.inc.php');
/** /**
* This class manages the special template format used internally to build the iTop web pages * This class manages the special template format used internally to build the iTop web pages
*/ */
@@ -218,8 +218,8 @@ class DisplayTemplate
*/ */
static public function UnitTest() static public function UnitTest()
{ {
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
require_once("../application/itopwebpage.class.inc.php"); require_once(APPROOT."/application/itopwebpage.class.inc.php");
$sTemplate = '<div class="page_header"> $sTemplate = '<div class="page_header">
<div class="actions_details"><a href="#"><span>Actions</span></a></div> <div class="actions_details"><a href="#"><span>Actions</span></a></div>

View File

@@ -58,8 +58,8 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/webpage.class.inc.php'); require_once(APPROOT.'/application/webpage.class.inc.php');
require_once('../application/displayblock.class.inc.php'); require_once(APPROOT.'/application/displayblock.class.inc.php');
class UIAutoCompleteWidget class UIAutoCompleteWidget
{ {

View File

@@ -23,8 +23,8 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/webpage.class.inc.php'); require_once(APPROOT.'/application/webpage.class.inc.php');
require_once('../application/displayblock.class.inc.php'); require_once(APPROOT.'/application/displayblock.class.inc.php');
class UILinksWidget class UILinksWidget
{ {

View File

@@ -24,8 +24,8 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/webpage.class.inc.php'); require_once(APPROOT.'/application/webpage.class.inc.php');
require_once('../application/displayblock.class.inc.php'); require_once(APPROOT.'/application/displayblock.class.inc.php');
class UIPasswordWidget class UIPasswordWidget
{ {

View File

@@ -22,8 +22,8 @@
* @author Denis Flaven <denis.flaven@combodo.com> * @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../core/dbobject.class.php'); require_once(APPROOT.'/core/dbobject.class.php');
require_once('../core/userrights.class.inc.php'); require_once(APPROOT.'/core/userrights.class.inc.php');
/** /**
* This class is used to store, in a persistent manner, user related settings (preferences) * This class is used to store, in a persistent manner, user related settings (preferences)

View File

@@ -23,10 +23,10 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../core/config.class.inc.php'); require_once(APPROOT.'/core/config.class.inc.php');
require_once('../application/transaction.class.inc.php'); require_once(APPROOT.'/application/transaction.class.inc.php');
define('ITOP_CONFIG_FILE', '../config-itop.php'); define('ITOP_CONFIG_FILE', APPROOT.'/config-itop.php');
class FileUploadException extends Exception class FileUploadException extends Exception
{ {

View File

@@ -23,7 +23,7 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/uiwizard.class.inc.php'); require_once(APPROOT.'/application/uiwizard.class.inc.php');
class WizardHelper class WizardHelper
{ {

View File

@@ -23,7 +23,7 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once("../application/webpage.class.inc.php"); require_once(APPROOT."/application/webpage.class.inc.php");
/** /**
* Simple web page with no includes or fancy formatting, useful to generateXML documents * Simple web page with no includes or fancy formatting, useful to generateXML documents
* The page adds the content-type text/XML and the encoding into the headers * The page adds the content-type text/XML and the encoding into the headers

3
approot.inc.php Normal file
View File

@@ -0,0 +1,3 @@
<?php
define('APPROOT', dirname(__FILE__).'/');
?>

View File

@@ -24,7 +24,7 @@
*/ */
require_once('../core/email.class.inc.php'); require_once(APPROOT.'/core/email.class.inc.php');
/** /**
* A user defined action, to customize the application * A user defined action, to customize the application

View File

@@ -267,36 +267,36 @@ class Config
$this->m_sFile = $sConfigFile; $this->m_sFile = $sConfigFile;
$this->m_aAppModules = array( $this->m_aAppModules = array(
// Some default modules, always present can be move to an official iTop Module later if needed // Some default modules, always present can be move to an official iTop Module later if needed
'../application/transaction.class.inc.php', '/application/transaction.class.inc.php',
'../application/menunode.class.inc.php', '/application/menunode.class.inc.php',
'../application/user.preferences.class.inc.php', '/application/user.preferences.class.inc.php',
'../application/audit.rule.class.inc.php', '/application/audit.rule.class.inc.php',
// Romain - That's dirty, because those 3 classes are in fact part of the core // Romain - That's dirty, because those 3 classes are in fact part of the core
// but I needed those classes to be derived from cmdbAbstractObject // but I needed those classes to be derived from cmdbAbstractObject
// (to be managed via the GUI) and this class in not really known from // (to be managed via the GUI) and this class in not really known from
// the core, PLUS I needed the includes to be there also for the setup // the core, PLUS I needed the includes to be there also for the setup
// to create the tables. // to create the tables.
'../core/event.class.inc.php', '/core/event.class.inc.php',
'../core/action.class.inc.php', '/core/action.class.inc.php',
'../core/trigger.class.inc.php', '/core/trigger.class.inc.php',
); );
$this->m_aDataModels = array(); $this->m_aDataModels = array();
$this->m_aAddons = array( $this->m_aAddons = array(
// Default AddOn, always present can be moved to an official iTop Module later if needed // Default AddOn, always present can be moved to an official iTop Module later if needed
'user rights' => '../addons/userrights/userrightsprofile.class.inc.php', 'user rights' => '/addons/userrights/userrightsprofile.class.inc.php',
); );
$this->m_aDictionaries = array( $this->m_aDictionaries = array(
// Default dictionaries, always present can be moved to an official iTop Module later if needed // Default dictionaries, always present can be moved to an official iTop Module later if needed
'../dictionaries/dictionary.itop.core.php', '/dictionaries/dictionary.itop.core.php',
'../dictionaries/dictionary.itop.ui.php', // Support for English '/dictionaries/dictionary.itop.ui.php', // Support for English
'../dictionaries/fr.dictionary.itop.ui.php', // Support for French '/dictionaries/fr.dictionary.itop.ui.php', // Support for French
'../dictionaries/fr.dictionary.itop.core.php', // Support for French '/dictionaries/fr.dictionary.itop.core.php', // Support for French
'../dictionaries/es_cr.dictionary.itop.ui.php', // Support for Spanish (from Costa Rica) '/dictionaries/es_cr.dictionary.itop.ui.php', // Support for Spanish (from Costa Rica)
'../dictionaries/es_cr.dictionary.itop.core.php', // Support for Spanish (from Costa Rica) '/dictionaries/es_cr.dictionary.itop.core.php', // Support for Spanish (from Costa Rica)
'../dictionaries/de.dictionary.itop.ui.php', // Support for German '/dictionaries/de.dictionary.itop.ui.php', // Support for German
'../dictionaries/de.dictionary.itop.core.php', // Support for German '/dictionaries/de.dictionary.itop.core.php', // Support for German
'../dictionaries/pt_br.dictionary.itop.ui.php', // Support for Brazilian Portuguese '/dictionaries/pt_br.dictionary.itop.ui.php', // Support for Brazilian Portuguese
'../dictionaries/pt_br.dictionary.itop.core.php', // Support for Brazilian Portuguese '/dictionaries/pt_br.dictionary.itop.core.php', // Support for Brazilian Portuguese
); );
foreach($this->m_aSettings as $sPropCode => $aSettingInfo) foreach($this->m_aSettings as $sPropCode => $aSettingInfo)
@@ -396,7 +396,8 @@ class Config
} }
if (!array_key_exists('user rights', $MyModules['addons'])) if (!array_key_exists('user rights', $MyModules['addons']))
{ {
$MyModules['addons']['user rights'] = '../addons/userrights/userrightsnull.class.inc.php'; // Add one, by default
$MyModules['addons']['user rights'] = '/addons/userrights/userrightsnull.class.inc.php';
} }
if (!array_key_exists('dictionaries', $MyModules)) if (!array_key_exists('dictionaries', $MyModules))
{ {
@@ -452,22 +453,8 @@ class Config
protected function Verify() protected function Verify()
{ {
foreach ($this->m_aAppModules as $sModule => $sToInclude) // Files are verified later on, just before using them -see MetaModel::Plugin()
{ // (we have their final path at that point)
$this->CheckFile('application module', $sToInclude);
}
foreach ($this->m_aDataModels as $sModule => $sToInclude)
{
$this->CheckFile('business model', $sToInclude);
}
foreach ($this->m_aAddons as $sModule => $sToInclude)
{
$this->CheckFile('addon module', $sToInclude);
}
foreach ($this->m_aDictionaries as $sModule => $sToInclude)
{
$this->CheckFile('dictionary', $sToInclude);
}
} }
public function GetModuleSetting($sModule, $sProperty, $defaultvalue = null) public function GetModuleSetting($sModule, $sProperty, $defaultvalue = null)

View File

@@ -3251,7 +3251,7 @@ abstract class MetaModel
if (self::$m_oConfig->GetLogIssue()) if (self::$m_oConfig->GetLogIssue())
{ {
self::$m_bLogIssue = true; self::$m_bLogIssue = true;
IssueLog::Enable('../error.log'); IssueLog::Enable(APPROOT.'/error.log');
} }
self::$m_bLogNotification = self::$m_oConfig->GetLogNotification(); self::$m_bLogNotification = self::$m_oConfig->GetLogNotification();
self::$m_bLogWebService = self::$m_oConfig->GetLogWebService(); self::$m_bLogWebService = self::$m_oConfig->GetLogWebService();
@@ -3289,7 +3289,7 @@ abstract class MetaModel
// Romain: this is the only way I've found to cope with the fact that // Romain: this is the only way I've found to cope with the fact that
// classes have to be derived from cmdbabstract (to be editable in the UI) // classes have to be derived from cmdbabstract (to be editable in the UI)
require_once('../application/cmdbabstract.class.inc.php'); require_once(APPROOT.'/application/cmdbabstract.class.inc.php');
foreach (self::$m_oConfig->GetAppModules() as $sModule => $sToInclude) foreach (self::$m_oConfig->GetAppModules() as $sModule => $sToInclude)
{ {
@@ -3348,11 +3348,27 @@ abstract class MetaModel
protected static function Plugin($sConfigFile, $sModuleType, $sToInclude) protected static function Plugin($sConfigFile, $sModuleType, $sToInclude)
{ {
if (!file_exists($sToInclude)) if (substr($sToInclude, 0, 3) == '../')
{ {
throw new CoreException('Wrong filename in configuration file', array('file' => $sConfigFile, 'module' => $sModuleType, 'filename' => $sToInclude)); // Preserve compatibility with config files written before 1.0.1
// Replace '../' by '<root>/'
$sFile = APPROOT.'/'.substr($sToInclude, 3);
} }
require_once($sToInclude); elseif (substr($sToInclude, 0, 1) == '/')
{
// Preferred...
$sFile = APPROOT.$sToInclude;
}
else
{
// Leave as is - should be an absolute path
$sFile = $sToInclude;
}
if (!file_exists($sFile))
{
throw new CoreException('Wrong filename in configuration file', array('file' => $sConfigFile, 'module' => $sModuleType, 'filename' => $sFile));
}
require_once($sFile);
} }
protected static function InitPlugins() protected static function InitPlugins()

View File

@@ -14,7 +14,7 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
require_once('../core/simplecrypt.class.inc.php'); require_once(APPROOT.'/core/simplecrypt.class.inc.php');
/** /**
* ormPassword * ormPassword

View File

@@ -23,8 +23,6 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/cmdbabstract.class.inc.php');
require_once('../application/template.class.inc.php');
MetaModel::RegisterRelation("impacts", array("description"=>"Objects impacted by", "verb_down"=>"impacts", "verb_up"=>"depends on")); MetaModel::RegisterRelation("impacts", array("description"=>"Objects impacted by", "verb_down"=>"impacts", "verb_up"=>"depends on"));
MetaModel::RegisterRelation("depends on", array("description"=>"That impacts ", "verb_down"=>"depends on", "verb_up"=>"impacts")); MetaModel::RegisterRelation("depends on", array("description"=>"That impacts ", "verb_down"=>"depends on", "verb_up"=>"impacts"));

View File

@@ -495,16 +495,17 @@ EOF
* ***********************************************************************************/ * ***********************************************************************************/
try try
{ {
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/itopwebpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once('../application/wizardhelper.class.inc.php'); require_once(APPROOT.'/application/itopwebpage.class.inc.php');
require_once(APPROOT.'/application/wizardhelper.class.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
$operation = utils::ReadParam('operation', ''); $operation = utils::ReadParam('operation', '');
$oKPI = new ExecutionKPI(); $oKPI = new ExecutionKPI();
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(); // Check user rights and prompt if needed LoginWebPage::DoLogin(); // Check user rights and prompt if needed
$oAppContext = new ApplicationContext(); $oAppContext = new ApplicationContext();
@@ -1308,7 +1309,7 @@ EOF
{ {
throw new ApplicationException(Dict::Format('UI:Error:4ParametersMissing', 'class', 'id', 'target_class', 'link_attr')); throw new ApplicationException(Dict::Format('UI:Error:4ParametersMissing', 'class', 'id', 'target_class', 'link_attr'));
} }
require_once('../application/uilinkswizard.class.inc.php'); require_once(APPROOT.'/application/uilinkswizard.class.inc.php');
$oWizard = new UILinksWizard($sClass, $sLinkAttr, $id, $sTargetClass); $oWizard = new UILinksWizard($sClass, $sLinkAttr, $id, $sTargetClass);
$oWizard->Display($oP, array('StartWithAdd' => $bAddObjects)); $oWizard->Display($oP, array('StartWithAdd' => $bAddObjects));
break; break;
@@ -1490,7 +1491,7 @@ EOF
} }
catch(CoreException $e) catch(CoreException $e)
{ {
require_once('../setup/setuppage.class.inc.php'); require_once(APPROOT.'/setup/setuppage.class.inc.php');
$oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError')); $oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError'));
if ($e instanceof SecurityException) if ($e instanceof SecurityException)
{ {
@@ -1533,7 +1534,7 @@ catch(CoreException $e)
} }
catch(Exception $e) catch(Exception $e)
{ {
require_once('../setup/setuppage.class.inc.php'); require_once(APPROOT.'/setup/setuppage.class.inc.php');
$oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError')); $oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError'));
$oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n"); $oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n");
$oP->error(Dict::Format('UI:Error_Details', $e->getMessage())); $oP->error(Dict::Format('UI:Error_Details', $e->getMessage()));

View File

@@ -23,13 +23,14 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/itopwebpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once('../application/applicationcontext.class.inc.php'); require_once(APPROOT.'/application/itopwebpage.class.inc.php');
require_once(APPROOT.'/application/applicationcontext.class.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(true); // Check user rights and prompt if needed (must be admin) LoginWebPage::DoLogin(true); // Check user rights and prompt if needed (must be admin)
$oAppContext = new ApplicationContext(); $oAppContext = new ApplicationContext();
@@ -47,7 +48,6 @@ $sOperation = utils::ReadParam('operation', '');
// First part: select the class to search for // First part: select the class to search for
$oP->add("<form>"); $oP->add("<form>");
$oP->add("<input type=\"hidden\" name=\"org_id\" value=\"$currentOrganization\" />");
$oP->add(Dict::S('UI:UniversalSearch:LabelSelectTheClass')."<select style=\"width: 150px;\" id=\"select_class\" name=\"baseClass\" onChange=\"this.form.submit();\">"); $oP->add(Dict::S('UI:UniversalSearch:LabelSelectTheClass')."<select style=\"width: 150px;\" id=\"select_class\" name=\"baseClass\" onChange=\"this.form.submit();\">");
$aClassLabels = array(); $aClassLabels = array();
foreach(MetaModel::GetClasses('bizmodel') as $sCurrentClass) foreach(MetaModel::GetClasses('bizmodel') as $sCurrentClass)

View File

@@ -23,12 +23,13 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/webpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once('../application/ajaxwebpage.class.inc.php'); require_once(APPROOT.'/application/webpage.class.inc.php');
require_once('../application/wizardhelper.class.inc.php'); require_once(APPROOT.'/application/ajaxwebpage.class.inc.php');
require_once('../application/ui.linkswidget.class.inc.php'); require_once(APPROOT.'/application/wizardhelper.class.inc.php');
require_once('../application/csvpage.class.inc.php'); require_once(APPROOT.'/application/ui.linkswidget.class.inc.php');
require_once(APPROOT.'/application/csvpage.class.inc.php');
/** /**
* Determines if the name of the field to be mapped correspond * Determines if the name of the field to be mapped correspond
@@ -207,9 +208,9 @@ function GetMappingForField($sClassName, $sFieldName, $iFieldIndex, $bAdvancedMo
return $sHtml; return $sHtml;
} }
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(); // Check user rights and prompt if needed LoginWebPage::DoLogin(); // Check user rights and prompt if needed

View File

@@ -23,17 +23,18 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/webpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once('../application/ajaxwebpage.class.inc.php'); require_once(APPROOT.'/application/webpage.class.inc.php');
require_once('../application/wizardhelper.class.inc.php'); require_once(APPROOT.'/application/ajaxwebpage.class.inc.php');
require_once('../application/ui.linkswidget.class.inc.php'); require_once(APPROOT.'/application/wizardhelper.class.inc.php');
require_once('../application/ui.autocompletewidget.class.inc.php'); require_once(APPROOT.'/application/ui.linkswidget.class.inc.php');
require_once(APPROOT.'/application/ui.autocompletewidget.class.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
require_once('../application/user.preferences.class.inc.php'); require_once(APPROOT.'/application/user.preferences.class.inc.php');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(false /* bMustBeAdmin */, true /* IsAllowedToPortalUsers */); // Check user rights and prompt if needed LoginWebPage::DoLogin(false /* bMustBeAdmin */, true /* IsAllowedToPortalUsers */); // Check user rights and prompt if needed
$oPage = new ajax_page(""); $oPage = new ajax_page("");
@@ -48,7 +49,7 @@ $sStyle = utils::ReadParam('style', 'list');
switch($operation) switch($operation)
{ {
case 'addObjects': case 'addObjects':
require_once('../application/uilinkswizard.class.inc.php'); require_once(APPROOT.'/application/uilinkswizard.class.inc.php');
$sClass = utils::ReadParam('class', '', 'get'); $sClass = utils::ReadParam('class', '', 'get');
$sLinkedClass = utils::ReadParam('linkedClass', ''); $sLinkedClass = utils::ReadParam('linkedClass', '');
$sLinkageAttr = utils::ReadParam('linkageAttr', ''); $sLinkageAttr = utils::ReadParam('linkageAttr', '');

View File

@@ -24,14 +24,15 @@
*/ */
try try
{ {
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/itopwebpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once(APPROOT.'/application/itopwebpage.class.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
$operation = utils::ReadParam('operation', ''); $operation = utils::ReadParam('operation', '');
$oAppContext = new ApplicationContext(); $oAppContext = new ApplicationContext();
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(); // Check user rights and prompt if needed LoginWebPage::DoLogin(); // Check user rights and prompt if needed
$oP = new iTopWebPage(Dict::S('UI:Audit:Title')); $oP = new iTopWebPage(Dict::S('UI:Audit:Title'));
@@ -179,7 +180,7 @@ try
} }
catch(CoreException $e) catch(CoreException $e)
{ {
require_once('../setup/setuppage.class.inc.php'); require_once(APPROOT.'/setup/setuppage.class.inc.php');
$oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError')); $oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError'));
$oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n"); $oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n");
$oP->error(Dict::Format('UI:Error_Details', $e->getHtmlDesc())); $oP->error(Dict::Format('UI:Error_Details', $e->getHtmlDesc()));
@@ -208,7 +209,7 @@ catch(CoreException $e)
} }
catch(Exception $e) catch(Exception $e)
{ {
require_once('../setup/setuppage.class.inc.php'); require_once(APPROOT.'/setup/setuppage.class.inc.php');
$oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError')); $oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError'));
$oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n"); $oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n");
$oP->error(Dict::Format('UI:Error_Details', $e->getMessage())); $oP->error(Dict::Format('UI:Error_Details', $e->getMessage()));

View File

@@ -26,12 +26,13 @@
try try
{ {
ini_set('memory_limit', '256M'); ini_set('memory_limit', '256M');
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/itopwebpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once(APPROOT.'/application/itopwebpage.class.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(); // Check user rights and prompt if needed LoginWebPage::DoLogin(); // Check user rights and prompt if needed
$oAppContext = new ApplicationContext(); $oAppContext = new ApplicationContext();
@@ -1146,7 +1147,7 @@ EOF
} }
catch(CoreException $e) catch(CoreException $e)
{ {
require_once('../setup/setuppage.class.inc.php'); require_once(APPROOT.'/setup/setuppage.class.inc.php');
$oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError')); $oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError'));
$oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n"); $oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n");
$oP->error(Dict::Format('UI:Error_Details', $e->getHtmlDesc())); $oP->error(Dict::Format('UI:Error_Details', $e->getHtmlDesc()));
@@ -1175,7 +1176,7 @@ catch(CoreException $e)
} }
catch(Exception $e) catch(Exception $e)
{ {
require_once('../setup/setuppage.class.inc.php'); require_once(APPROOT.'/setup/setuppage.class.inc.php');
$oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError')); $oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError'));
$oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n"); $oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n");
$oP->error(Dict::Format('UI:Error_Details', $e->getMessage())); $oP->error(Dict::Format('UI:Error_Details', $e->getMessage()));

View File

@@ -23,13 +23,14 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/itopwebpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once(APPROOT.'/application/itopwebpage.class.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
require_once('../application/utils.inc.php'); require_once(APPROOT.'/application/utils.inc.php');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(); // Check user rights and prompt if needed LoginWebPage::DoLogin(); // Check user rights and prompt if needed
/** /**

View File

@@ -14,16 +14,17 @@
// along with this program; if not, write to the Free Software // along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/itopwebpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once('../application/wizardhelper.class.inc.php'); require_once(APPROOT.'/application/itopwebpage.class.inc.php');
require_once(APPROOT.'/application/wizardhelper.class.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
$oAppContext = new ApplicationContext(); $oAppContext = new ApplicationContext();
$currentOrganization = utils::ReadParam('org_id', ''); $currentOrganization = utils::ReadParam('org_id', '');
$operation = utils::ReadParam('operation', ''); $operation = utils::ReadParam('operation', '');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
session_name(utils::GetConfig()->Get('session_name')); session_name(utils::GetConfig()->Get('session_name'));
session_start(); session_start();
LoginWebPage::ResetSession(); LoginWebPage::ResetSession();

View File

@@ -17,12 +17,13 @@
/** /**
* Display the Flash navigator, in the whole pane * Display the Flash navigator, in the whole pane
*/ */
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/itopwebpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once(APPROOT.'/application/itopwebpage.class.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(); // Check user rights and prompt if needed LoginWebPage::DoLogin(); // Check user rights and prompt if needed
$sOperation = utils::ReadParam('operation', 'menu'); $sOperation = utils::ReadParam('operation', 'menu');

View File

@@ -23,12 +23,13 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/itopwebpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once(APPROOT.'/application/itopwebpage.class.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(true); // Check user rights and prompt if needed (must be admin) LoginWebPage::DoLogin(true); // Check user rights and prompt if needed (must be admin)
function ShowExamples($oP, $sExpression) function ShowExamples($oP, $sExpression)

View File

@@ -23,12 +23,13 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/itopwebpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once(APPROOT.'/application/itopwebpage.class.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(true); // Check user rights and prompt if needed (must be admin) LoginWebPage::DoLogin(true); // Check user rights and prompt if needed (must be admin)

View File

@@ -24,11 +24,12 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/webpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once('../application/ajaxwebpage.class.inc.php'); require_once(APPROOT.'/application/webpage.class.inc.php');
require_once('../application/wizardhelper.class.inc.php'); require_once(APPROOT.'/application/ajaxwebpage.class.inc.php');
require_once('../application/ui.linkswidget.class.inc.php'); require_once(APPROOT.'/application/wizardhelper.class.inc.php');
require_once(APPROOT.'/application/ui.linkswidget.class.inc.php');
define('MAX_RECURSION_DEPTH', 20); define('MAX_RECURSION_DEPTH', 20);
@@ -104,8 +105,8 @@ function BuildIconPath($sIconPath)
return $sFullURLPath.$sIconPath; return $sFullURLPath.$sIconPath;
} }
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
// For developping the Navigator from within Flash // For developping the Navigator from within Flash
//session_start(); //session_start();
//$_SESSION['auth_user'] = 'admin'; //$_SESSION['auth_user'] = 'admin';

View File

@@ -22,9 +22,9 @@
* @author Denis Flaven <denis.flaven@combodo.com> * @author Denis Flaven <denis.flaven@combodo.com>
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/application.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once('../application/nicewebpage.class.inc.php'); require_once(APPROOT.'/application/nicewebpage.class.inc.php');
require_once('../application/wizardhelper.class.inc.php'); require_once(APPROOT.'/application/wizardhelper.class.inc.php');
/** /**
* Get the list of parameters (i.e. attribute codes) to be handled while creating a new UserRequest object * Get the list of parameters (i.e. attribute codes) to be handled while creating a new UserRequest object
@@ -733,12 +733,12 @@ function GetUserOrg($oP)
try try
{ {
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
require_once('../application/portalwebpage.class.inc.php'); require_once(APPROOT.'/application/portalwebpage.class.inc.php');
$oAppContext = new ApplicationContext(); $oAppContext = new ApplicationContext();
$sOperation = utils::ReadParam('operation', ''); $sOperation = utils::ReadParam('operation', '');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(false /* bMustBeAdmin */, true /* IsAllowedToPortalUsers */); // Check user rights and prompt if needed LoginWebPage::DoLogin(false /* bMustBeAdmin */, true /* IsAllowedToPortalUsers */); // Check user rights and prompt if needed
$oUserOrg = GetUserOrg($oP); $oUserOrg = GetUserOrg($oP);
@@ -775,7 +775,7 @@ try
} }
catch(CoreException $e) catch(CoreException $e)
{ {
require_once('../setup/setuppage.class.inc.php'); require_once(APPROOT.'/setup/setuppage.class.inc.php');
$oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError')); $oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError'));
$oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n"); $oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n");
$oP->error(Dict::Format('UI:Error_Details', $e->getHtmlDesc())); $oP->error(Dict::Format('UI:Error_Details', $e->getHtmlDesc()));
@@ -811,7 +811,7 @@ catch(CoreException $e)
} }
catch(Exception $e) catch(Exception $e)
{ {
require_once('../setup/setuppage.class.inc.php'); require_once(APPROOT.'/setup/setuppage.class.inc.php');
$oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError')); $oP = new SetupWebPage(Dict::S('UI:PageTitle:FatalError'));
$oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n"); $oP->add("<h1>".Dict::S('UI:FatalErrorMessage')."</h1>\n");
$oP->error(Dict::Format('UI:Error_Details', $e->getMessage())); $oP->error(Dict::Format('UI:Error_Details', $e->getMessage()));

View File

@@ -31,8 +31,9 @@
* 'percent' integer 0..100 the percentage of completion once the file has been loaded * 'percent' integer 0..100 the percentage of completion once the file has been loaded
*/ */
define('SAFE_MINIMUM_MEMORY', 32*1024*1024); define('SAFE_MINIMUM_MEMORY', 32*1024*1024);
require_once('../application/utils.inc.php'); require_once('../approot.inc.php');
require_once('./setuppage.class.inc.php'); require_once(APPROOT.'/application/utils.inc.php');
require_once(APPROOT.'/setup/setuppage.class.inc.php');
$sMemoryLimit = trim(ini_get('memory_limit')); $sMemoryLimit = trim(ini_get('memory_limit'));
if (empty($sMemoryLimit)) if (empty($sMemoryLimit))
@@ -87,14 +88,14 @@ ini_set('error_append_string', '</phpfatalerror>');
// Starts the capture of the ouput, and sets a filter to capture the fatal errors. // Starts the capture of the ouput, and sets a filter to capture the fatal errors.
ob_start('FatalErrorCatcher'); // Start capturing the output, and pass it through the fatal error catcher ob_start('FatalErrorCatcher'); // Start capturing the output, and pass it through the fatal error catcher
require_once('../core/config.class.inc.php'); require_once(APPROOT.'/core/config.class.inc.php');
require_once('../core/log.class.inc.php'); require_once(APPROOT.'/core/log.class.inc.php');
require_once('../core/kpi.class.inc.php'); require_once(APPROOT.'/core/kpi.class.inc.php');
require_once('../core/cmdbsource.class.inc.php'); require_once(APPROOT.'/core/cmdbsource.class.inc.php');
require_once('./xmldataloader.class.inc.php'); require_once('./xmldataloader.class.inc.php');
define('TMP_CONFIG_FILE', '../tmp-config-itop.php'); define('TMP_CONFIG_FILE', APPROOT.'/tmp-config-itop.php');
//define('FINAL_CONFIG_FILE', '../config-itop.php'); //define('FINAL_CONFIG_FILE', APPROOT.'/config-itop.php');
// Never cache this page // Never cache this page
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1

View File

@@ -26,8 +26,9 @@
/** /**
* Wizard to configure and initialize the iTop application * Wizard to configure and initialize the iTop application
*/ */
require_once('../application/utils.inc.php'); require_once('../approot.inc.php');
require_once('../core/email.class.inc.php'); require_once(APPROOT.'/application/utils.inc.php');
require_once(APPROOT.'/core/email.class.inc.php');
require_once('./setuppage.class.inc.php'); require_once('./setuppage.class.inc.php');
$sOperation = Utils::ReadParam('operation', 'step1'); $sOperation = Utils::ReadParam('operation', 'step1');

View File

@@ -23,15 +23,16 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/utils.inc.php'); require_once('../approot.inc.php');
require_once('../core/config.class.inc.php'); require_once(APPROOT.'/application/utils.inc.php');
require_once('../core/log.class.inc.php'); require_once(APPROOT.'/core/config.class.inc.php');
require_once('../core/kpi.class.inc.php'); require_once(APPROOT.'/core/log.class.inc.php');
require_once('../core/cmdbsource.class.inc.php'); require_once(APPROOT.'/core/kpi.class.inc.php');
require_once('./setuppage.class.inc.php'); require_once(APPROOT.'/core/cmdbsource.class.inc.php');
require_once(APPROOT.'/setup/setuppage.class.inc.php');
define('TMP_CONFIG_FILE', '../tmp-config-itop.php'); define('TMP_CONFIG_FILE', APPROOT.'/tmp-config-itop.php');
define('FINAL_CONFIG_FILE', '../config-itop.php'); define('FINAL_CONFIG_FILE', APPROOT.'/config-itop.php');
define('PHP_MIN_VERSION', '5.2.0'); define('PHP_MIN_VERSION', '5.2.0');
define('MYSQL_MIN_VERSION', '5.0.0'); define('MYSQL_MIN_VERSION', '5.0.0');
define('MIN_MEMORY_LIMIT', 32*1024*1024); define('MIN_MEMORY_LIMIT', 32*1024*1024);
@@ -395,23 +396,23 @@ function GetModuleName($sModuleId)
*/ */
function InitDataModel(SetupWebPage $oP, $sConfigFileName, $bModelOnly = true) function InitDataModel(SetupWebPage $oP, $sConfigFileName, $bModelOnly = true)
{ {
require_once('../core/log.class.inc.php'); require_once(APPROOT.'/core/log.class.inc.php');
require_once('../core/kpi.class.inc.php'); require_once(APPROOT.'/core/kpi.class.inc.php');
require_once('../core/coreexception.class.inc.php'); require_once(APPROOT.'/core/coreexception.class.inc.php');
require_once('../core/dict.class.inc.php'); require_once(APPROOT.'/core/dict.class.inc.php');
require_once('../core/attributedef.class.inc.php'); require_once(APPROOT.'/core/attributedef.class.inc.php');
require_once('../core/filterdef.class.inc.php'); require_once(APPROOT.'/core/filterdef.class.inc.php');
require_once('../core/stimulus.class.inc.php'); require_once(APPROOT.'/core/stimulus.class.inc.php');
require_once('../core/MyHelpers.class.inc.php'); require_once(APPROOT.'/core/MyHelpers.class.inc.php');
require_once('../core/expression.class.inc.php'); require_once(APPROOT.'/core/expression.class.inc.php');
require_once('../core/cmdbsource.class.inc.php'); require_once(APPROOT.'/core/cmdbsource.class.inc.php');
require_once('../core/sqlquery.class.inc.php'); require_once(APPROOT.'/core/sqlquery.class.inc.php');
require_once('../core/dbobject.class.php'); require_once(APPROOT.'/core/dbobject.class.php');
require_once('../core/dbobjectsearch.class.php'); require_once(APPROOT.'/core/dbobjectsearch.class.php');
require_once('../core/dbobjectset.class.php'); require_once(APPROOT.'/core/dbobjectset.class.php');
require_once('../application/cmdbabstract.class.inc.php'); require_once(APPROOT.'/application/cmdbabstract.class.inc.php');
require_once('../core/userrights.class.inc.php'); require_once(APPROOT.'/core/userrights.class.inc.php');
require_once('../setup/moduleinstallation.class.inc.php'); require_once(APPROOT.'/setup/moduleinstallation.class.inc.php');
$oP->log("Info - MetaModel::Startup from file '$sConfigFileName' (ModelOnly = $bModelOnly)"); $oP->log("Info - MetaModel::Startup from file '$sConfigFileName' (ModelOnly = $bModelOnly)");
MetaModel::Startup($sConfigFileName, $bModelOnly); MetaModel::Startup($sConfigFileName, $bModelOnly);
@@ -528,8 +529,9 @@ function CreateAdminAccount(SetupWebPage $oP, Config $oConfig, $sAdminUser, $sAd
} }
} }
function ListModuleFiles($sDirectory, SetupWebPage $oP) function ListModuleFiles($sRelDir, SetupWebPage $oP)
{ {
$sDirectory = APPROOT.$sRelDir;
//echo "<p>$sDirectory</p>\n"; //echo "<p>$sDirectory</p>\n";
if ($hDir = opendir($sDirectory)) if ($hDir = opendir($sDirectory))
{ {
@@ -541,11 +543,12 @@ function ListModuleFiles($sDirectory, SetupWebPage $oP)
{ {
if (($sFile != '.') && ($sFile != '..') && ($sFile != '.svn')) if (($sFile != '.') && ($sFile != '..') && ($sFile != '.svn'))
{ {
ListModuleFiles($sDirectory.'/'.$sFile, $oP); ListModuleFiles($sRelDir.'/'.$sFile, $oP);
} }
} }
else if (preg_match('/^module\.(.*).php$/i', $sFile, $aMatches)) else if (preg_match('/^module\.(.*).php$/i', $sFile, $aMatches))
{ {
$oP->SetModulePath($sRelDir);
try try
{ {
//echo "<p>Loading: $sDirectory/$sFile...</p>\n"; //echo "<p>Loading: $sDirectory/$sFile...</p>\n";
@@ -593,6 +596,7 @@ function PopulateDataFilesList(SetupWebPage $oP, $aParamValues)
foreach($aStructureDataFiles as $sFile) foreach($aStructureDataFiles as $sFile)
{ {
// Under Windows, it is a must to escape backslashes (not an issue until a folder name starts with t or n, etc...) // Under Windows, it is a must to escape backslashes (not an issue until a folder name starts with t or n, etc...)
$sFile = APPROOT.$sFile;
$sFile = str_replace('\\', '\\\\', $sFile); $sFile = str_replace('\\', '\\\\', $sFile);
$oP->add("aFilesToLoad[aFilesToLoad.length] = '$sFile';\n"); $oP->add("aFilesToLoad[aFilesToLoad.length] = '$sFile';\n");
} }
@@ -604,6 +608,7 @@ function PopulateDataFilesList(SetupWebPage $oP, $aParamValues)
foreach($aSampleDataFiles as $sFile) foreach($aSampleDataFiles as $sFile)
{ {
// Under Windows, it is a must to escape backslashes (not an issue until a folder name starts with t or n, etc...) // Under Windows, it is a must to escape backslashes (not an issue until a folder name starts with t or n, etc...)
$sFile = APPROOT.$sFile;
$sFile = str_replace('\\', '\\\\', $sFile); $sFile = str_replace('\\', '\\\\', $sFile);
$oP->add("aFilesToLoad[aFilesToLoad.length] = '$sFile';\n"); $oP->add("aFilesToLoad[aFilesToLoad.length] = '$sFile';\n");
} }
@@ -649,7 +654,7 @@ function AddParamsToForm(SetupWebpage $oP, $aParamValues, $aExcludeParams = arra
function GetAvailableModules(SetupWebpage $oP) function GetAvailableModules(SetupWebpage $oP)
{ {
clearstatcache(); clearstatcache();
ListModuleFiles('../modules/', $oP); ListModuleFiles('/modules', $oP);
return $oP->GetModules(); return $oP->GetModules();
} }
@@ -663,14 +668,14 @@ function BuildConfig(SetupWebpage $oP, Config &$oConfig, $aParamValues)
$aAddOns = $oConfig->GetAddOns(); $aAddOns = $oConfig->GetAddOns();
$aAppModules = $oConfig->GetAppModules(); $aAppModules = $oConfig->GetAppModules();
$aDataModels = $oConfig->GetDataModels(); $aDataModels = $oConfig->GetDataModels();
$sDictionaries = $oConfig->GetDictionaries(); $aDictionaries = $oConfig->GetDictionaries();
// Merge the values with the ones provided by the modules // Merge the values with the ones provided by the modules
// Make sure when don't load the same file twice... // Make sure when don't load the same file twice...
foreach($aParamValues['module'] as $sModuleId) foreach($aParamValues['module'] as $sModuleId)
{ {
$oP->log('Installed iTop module: '. $sModuleId); $oP->log('Installed iTop module: '. $sModuleId);
$aDataModels = array_unique(array_merge($aDataModels, $aAvailableModules[$sModuleId]['datamodel'])); $aDataModels = array_unique(array_merge($aDataModels, $aAvailableModules[$sModuleId]['datamodel']));
$sDictionaries = array_unique(array_merge($sDictionaries, $aAvailableModules[$sModuleId]['dictionary'])); $aDictionaries = array_unique(array_merge($aDictionaries, $aAvailableModules[$sModuleId]['dictionary']));
foreach($aAvailableModules[$sModuleId]['settings'] as $sProperty => $value) foreach($aAvailableModules[$sModuleId]['settings'] as $sProperty => $value)
{ {
list($sName, $sVersion) = GetModuleName($sModuleId); list($sName, $sVersion) = GetModuleName($sModuleId);
@@ -680,7 +685,7 @@ function BuildConfig(SetupWebpage $oP, Config &$oConfig, $aParamValues)
$oConfig->SetAddOns($aAddOns); $oConfig->SetAddOns($aAddOns);
$oConfig->SetAppModules($aAppModules); $oConfig->SetAppModules($aAppModules);
$oConfig->SetDataModels($aDataModels); $oConfig->SetDataModels($aDataModels);
$oConfig->SetDictionaries($sDictionaries); $oConfig->SetDictionaries($aDictionaries);
} }
///////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@@ -23,8 +23,8 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once("../application/nicewebpage.class.inc.php"); require_once(APPROOT."/application/nicewebpage.class.inc.php");
define('INSTALL_LOG_FILE', '../setup.log'); define('INSTALL_LOG_FILE', APPROOT.'/setup.log');
date_default_timezone_set('Europe/Paris'); date_default_timezone_set('Europe/Paris');
class SetupWebPage extends NiceWebPage class SetupWebPage extends NiceWebPage
{ {
@@ -258,9 +258,15 @@ table.formTable {
static $m_aModules = array(); static $m_aModules = array();
// All the entries below are list of (relative) file paths // All the entries below are list of file paths relative to the module directory
static $m_aFilesList = array('datamodel', 'dictionary', 'data.struct', 'data.sample'); static $m_aFilesList = array('datamodel', 'dictionary', 'data.struct', 'data.sample');
static $m_sModulePath = null;
public function SetModulePath($sModulePath)
{
self::$m_sModulePath = $sModulePath;
}
public static function AddModule($sFilePath, $sId, $aArgs) public static function AddModule($sFilePath, $sId, $aArgs)
{ {
foreach (self::$m_aModuleArgs as $sArgName => $sArgDesc) foreach (self::$m_aModuleArgs as $sArgName => $sArgDesc)
@@ -272,14 +278,14 @@ table.formTable {
} }
self::$m_aModules[$sId] = $aArgs; self::$m_aModules[$sId] = $aArgs;
$sDirPart = dirname($sFilePath).'/';
foreach(self::$m_aFilesList as $sAttribute) foreach(self::$m_aFilesList as $sAttribute)
{ {
// All the items below are list of files, that are relative to the current file // All the items below are list of files, that are relative to the current file
// being loaded, let's update their path to store a full (absolute) path in the config // being loaded, let's update their path to store path relative to the application directory
foreach(self::$m_aModules[$sId][$sAttribute] as $idx => $sRelativePath) foreach(self::$m_aModules[$sId][$sAttribute] as $idx => $sRelativePath)
{ {
self::$m_aModules[$sId][$sAttribute][$idx] = $sDirPart.$sRelativePath; self::$m_aModules[$sId][$sAttribute][$idx] = self::$m_sModulePath.'/'.$sRelativePath;
} }
} }
} }

View File

@@ -23,7 +23,7 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
define ('KEYS_CACHE_FILE', '../keyscache.tmp'); define ('KEYS_CACHE_FILE', APPROOT.'/keyscache.tmp');
/** /**
* Class to load sets of objects from XML files into the database * Class to load sets of objects from XML files into the database
* XML files can be produced by the 'export' web service or by any other means * XML files can be produced by the 'export' web service or by any other means
@@ -51,7 +51,7 @@ class XMLDataLoader
$this->m_aKeys = array(); $this->m_aKeys = array();
$this->m_aObjectsCache = array(); $this->m_aObjectsCache = array();
$this->m_oChange = null; $this->m_oChange = null;
$this->m_sCacheFileName = dirname(__FILE__).'/'.KEYS_CACHE_FILE; $this->m_sCacheFileName = KEYS_CACHE_FILE;
$this->InitDataModel($sConfigFileName); $this->InitDataModel($sConfigFileName);
$this->LoadKeysCache(); $this->LoadKeysCache();
$this->m_bSessionActive = true; $this->m_bSessionActive = true;
@@ -121,22 +121,22 @@ class XMLDataLoader
*/ */
protected function InitDataModel($sConfigFileName) protected function InitDataModel($sConfigFileName)
{ {
require_once('../core/log.class.inc.php'); require_once(APPROOT.'/core/log.class.inc.php');
require_once('../core/kpi.class.inc.php'); require_once(APPROOT.'/core/kpi.class.inc.php');
require_once('../core/coreexception.class.inc.php'); require_once(APPROOT.'/core/coreexception.class.inc.php');
require_once('../core/dict.class.inc.php'); require_once(APPROOT.'/core/dict.class.inc.php');
require_once('../core/attributedef.class.inc.php'); require_once(APPROOT.'/core/attributedef.class.inc.php');
require_once('../core/filterdef.class.inc.php'); require_once(APPROOT.'/core/filterdef.class.inc.php');
require_once('../core/stimulus.class.inc.php'); require_once(APPROOT.'/core/stimulus.class.inc.php');
require_once('../core/MyHelpers.class.inc.php'); require_once(APPROOT.'/core/MyHelpers.class.inc.php');
require_once('../core/expression.class.inc.php'); require_once(APPROOT.'/core/expression.class.inc.php');
require_once('../core/cmdbsource.class.inc.php'); require_once(APPROOT.'/core/cmdbsource.class.inc.php');
require_once('../core/sqlquery.class.inc.php'); require_once(APPROOT.'/core/sqlquery.class.inc.php');
require_once('../core/dbobject.class.php'); require_once(APPROOT.'/core/dbobject.class.php');
require_once('../core/dbobjectsearch.class.php'); require_once(APPROOT.'/core/dbobjectsearch.class.php');
require_once('../core/dbobjectset.class.php'); require_once(APPROOT.'/core/dbobjectset.class.php');
require_once('../application/cmdbabstract.class.inc.php'); require_once(APPROOT.'/application/cmdbabstract.class.inc.php');
require_once('../core/userrights.class.inc.php'); require_once(APPROOT.'/core/userrights.class.inc.php');
MetaModel::Startup($sConfigFileName); MetaModel::Startup($sConfigFileName);
} }

View File

@@ -23,13 +23,14 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/itopwebpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once('../application/wizardhelper.class.inc.php'); require_once(APPROOT.'/application/itopwebpage.class.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/wizardhelper.class.inc.php');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
require_once('../application/utils.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
require_once('../setup/setuppage.class.inc.php'); require_once(APPROOT.'/application/utils.inc.php');
require_once(APPROOT.'/setup/setuppage.class.inc.php');
//ini_set('memory_limit', '2048M'); //ini_set('memory_limit', '2048M');

View File

@@ -24,28 +24,28 @@
*/ */
require_once('../core/coreexception.class.inc.php'); require_once(APPROOT.'/core/coreexception.class.inc.php');
require_once('../core/attributedef.class.inc.php'); require_once(APPROOT.'/core/attributedef.class.inc.php');
require_once('../core/filterdef.class.inc.php'); require_once(APPROOT.'/core/filterdef.class.inc.php');
require_once('../core/stimulus.class.inc.php'); require_once(APPROOT.'/core/stimulus.class.inc.php');
require_once('../core/MyHelpers.class.inc.php'); require_once(APPROOT.'/core/MyHelpers.class.inc.php');
require_once('../core/expression.class.inc.php'); require_once(APPROOT.'/core/expression.class.inc.php');
require_once('../core/cmdbsource.class.inc.php'); require_once(APPROOT.'/core/cmdbsource.class.inc.php');
require_once('../core/sqlquery.class.inc.php'); require_once(APPROOT.'/core/sqlquery.class.inc.php');
require_once('../core/log.class.inc.php'); require_once(APPROOT.'/core/log.class.inc.php');
require_once('../core/kpi.class.inc.php'); require_once(APPROOT.'/core/kpi.class.inc.php');
require_once('../core/dbobject.class.php'); require_once(APPROOT.'/core/dbobject.class.php');
require_once('../core/dbobjectsearch.class.php'); require_once(APPROOT.'/core/dbobjectsearch.class.php');
require_once('../core/dbobjectset.class.php'); require_once(APPROOT.'/core/dbobjectset.class.php');
require_once('../application/cmdbabstract.class.inc.php'); require_once(APPROOT.'/application/cmdbabstract.class.inc.php');
require_once('../core/userrights.class.inc.php'); require_once(APPROOT.'/core/userrights.class.inc.php');
require_once('../webservices/webservices.class.inc.php'); require_once(APPROOT.'/webservices/webservices.class.inc.php');
// Just to differentiate programmatically triggered exceptions and other kind of errors (usefull?) // Just to differentiate programmatically triggered exceptions and other kind of errors (usefull?)
@@ -405,7 +405,8 @@ abstract class TestBizModel extends TestHandler
protected function DoPrepare() protected function DoPrepare()
{ {
MetaModel::Startup($this->GetConfigFile()); $sConfigFile = APPROOT.$this->GetConfigFile();
MetaModel::Startup($sConfigFile);
// #@# Temporary disabled by Romain // #@# Temporary disabled by Romain
// MetaModel::CheckDefinitions(); // MetaModel::CheckDefinitions();

View File

@@ -84,11 +84,12 @@ function DisplayEvents($aEvents, $sTitle)
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
require_once('../application/utils.inc.php'); require_once('../approot.inc.php');
require_once(APPROOT.'/application/utils.inc.php');
require_once('./test.class.inc.php'); require_once('./test.class.inc.php');
require_once('./testlist.inc.php'); require_once('./testlist.inc.php');
require_once('../core/cmdbobject.class.inc.php'); require_once(APPROOT.'/core/cmdbobject.class.inc.php');
$sTodo = utils::ReadParam("todo", ""); $sTodo = utils::ReadParam("todo", "");
if ($sTodo == '') if ($sTodo == '')

View File

@@ -301,7 +301,7 @@ class TestGenericItoMyModel extends TestBizModelGeneric
return 'Generic RO test on '.self::GetConfigFile(); return 'Generic RO test on '.self::GetConfigFile();
} }
static public function GetConfigFile() {return '../config-test-mymodel.php';} static public function GetConfigFile() {return '/config-test-mymodel.php';}
} }
class TestGenericItopBigModel extends TestBizModelGeneric class TestGenericItopBigModel extends TestBizModelGeneric
@@ -311,7 +311,7 @@ class TestGenericItopBigModel extends TestBizModelGeneric
return 'Generic RO test on '.self::GetConfigFile(); return 'Generic RO test on '.self::GetConfigFile();
} }
static public function GetConfigFile() {return '../config-test-itopv06.php';} static public function GetConfigFile() {return '/config-test-itopv06.php';}
} }
class TestUserRightsMatrixItop extends TestUserRights class TestUserRightsMatrixItop extends TestUserRights
@@ -368,7 +368,7 @@ class TestMyBizModel extends TestBizModel
return 'Attempts various operations and build complex queries'; return 'Attempts various operations and build complex queries';
} }
static public function GetConfigFile() {return '../config-test-mymodel.php';} static public function GetConfigFile() {return '/config-test-mymodel.php';}
function test_linksinfo() function test_linksinfo()
{ {
@@ -689,7 +689,7 @@ class TestMyBizModel extends TestBizModel
abstract class MyFarm extends TestBizModel abstract class MyFarm extends TestBizModel
{ {
static public function GetConfigFile() {return '../config-test-farm.php';} static public function GetConfigFile() {return '/config-test-farm.php';}
protected function DoPrepare() protected function DoPrepare()
{ {
@@ -970,7 +970,7 @@ class TestBulkChangeOnFarm extends TestBizModel
return 'Bulk load'; return 'Bulk load';
} }
static public function GetConfigFile() {return '../config-test-farm.php';} static public function GetConfigFile() {return '/config-test-farm.php';}
protected function DoPrepare() protected function DoPrepare()
{ {
@@ -1084,7 +1084,7 @@ class TestItopEfficiency extends TestBizModel
return 'Measure time to perform the queries'; return 'Measure time to perform the queries';
} }
static public function GetConfigFile() {return '../config-itop.php';} static public function GetConfigFile() {return '/config-itop.php';}
protected function DoBenchmark($sOqlQuery) protected function DoBenchmark($sOqlQuery)
{ {
@@ -1942,7 +1942,7 @@ class TestWebServicesDirect extends TestBizModel
static public function GetName() {return 'Test web services locally';} static public function GetName() {return 'Test web services locally';}
static public function GetDescription() {return 'Invoke the service directly (troubleshooting)';} static public function GetDescription() {return 'Invoke the service directly (troubleshooting)';}
static public function GetConfigFile() {return '../config-itop.php';} static public function GetConfigFile() {return '/config-itop.php';}
protected function DoExecute() protected function DoExecute()
{ {
@@ -1982,7 +1982,7 @@ class TestTriggerAndEmail extends TestBizModel
static public function GetName() {return 'Test trigger and email';} static public function GetName() {return 'Test trigger and email';}
static public function GetDescription() {return 'Create a trigger and an email, then activates the trigger';} static public function GetDescription() {return 'Create a trigger and an email, then activates the trigger';}
static public function GetConfigFile() {return '../config-itop.php';} static public function GetConfigFile() {return '/config-itop.php';}
protected function CreateEmailSpec($oTrigger, $sStatus, $sTo, $sCC, $sTesterEmail) protected function CreateEmailSpec($oTrigger, $sStatus, $sTo, $sCC, $sTesterEmail)
{ {
@@ -2113,6 +2113,29 @@ class TestTriggerAndEmail extends TestBizModel
} }
} }
class TestDBProperties extends TestBizModel
{
static public function GetName()
{
return 'Itop - DB Properties';
}
static public function GetDescription()
{
return 'Write and read a dummy property';
}
static public function GetConfigFile() {return '/config-itop.php';}
protected function DoExecute()
{
$sName = 'test';
DBProperty::SetProperty($sName, 'unix time:'.time(), 'means nothing', 'done with the automated test utility');
$sValue = DBProperty::GetProperty($sName);
echo "<p>Write... then read property <b>$sName</b>, found: '$sValue'</p>\n";
}
}
class TestCreateObjects extends TestBizModel class TestCreateObjects extends TestBizModel
{ {
static public function GetName() static public function GetName()
@@ -2125,7 +2148,7 @@ class TestCreateObjects extends TestBizModel
return 'Create weird objects (reproduce a bug?)'; return 'Create weird objects (reproduce a bug?)';
} }
static public function GetConfigFile() {return '../config-itop.php';} static public function GetConfigFile() {return '/config-itop.php';}
protected function DoExecute() protected function DoExecute()
{ {

View File

@@ -29,10 +29,11 @@
* 'file' string Name of the file to load * 'file' string Name of the file to load
*/ */
define('SAFE_MINIMUM_MEMORY', 256*1024*1024); define('SAFE_MINIMUM_MEMORY', 256*1024*1024);
require_once('../application/utils.inc.php'); require_once('../approot.inc.php');
require_once("../application/nicewebpage.class.inc.php"); require_once(APPROOT.'/application/utils.inc.php');
require_once(APPROOT."/application/nicewebpage.class.inc.php");
// required because the class xmldataloader is reporting errors in the setup.log file // required because the class xmldataloader is reporting errors in the setup.log file
require_once('../setup/setuppage.class.inc.php'); require_once(APPROOT.'/setup/setuppage.class.inc.php');
function SetMemoryLimit($oP) function SetMemoryLimit($oP)
@@ -71,13 +72,13 @@ function SetMemoryLimit($oP)
// //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
require_once('../core/config.class.inc.php'); require_once(APPROOT.'/core/config.class.inc.php');
require_once('../core/log.class.inc.php'); require_once(APPROOT.'/core/log.class.inc.php');
require_once('../core/kpi.class.inc.php'); require_once(APPROOT.'/core/kpi.class.inc.php');
require_once('../core/cmdbsource.class.inc.php'); require_once(APPROOT.'/core/cmdbsource.class.inc.php');
require_once('../setup/xmldataloader.class.inc.php'); require_once(APPROOT.'/setup/xmldataloader.class.inc.php');
define('FINAL_CONFIG_FILE', '../config-itop.php'); define('FINAL_CONFIG_FILE', APPROOT.'/config-itop.php');
// Never cache this page // Never cache this page
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1

View File

@@ -23,9 +23,10 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/startup.inc.php'); require_once('../approot.inc.php');
require_once(APPROOT.'/application/startup.inc.php');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(); // Check user rights and prompt if needed LoginWebPage::DoLogin(); // Check user rights and prompt if needed
$oMyChange = new CMDBChange(); $oMyChange = new CMDBChange();

View File

@@ -50,8 +50,9 @@ define('DEFAULT_SUBSERVICE_ID', 12);
define('DEFAULT_PRODUCT', 'Request via eMail'); define('DEFAULT_PRODUCT', 'Request via eMail');
define('DEFAULT_WORKGROUP_ID', 5); define('DEFAULT_WORKGROUP_ID', 5);
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once(APPROOT.'/application/startup.inc.php');
function GetSender($aHeaders) function GetSender($aHeaders)
{ {

View File

@@ -23,14 +23,15 @@
* @license http://www.opensource.org/licenses/gpl-3.0.html LGPL * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL
*/ */
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/nicewebpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once('../application/csvpage.class.inc.php'); require_once(APPROOT.'/application/nicewebpage.class.inc.php');
require_once('../application/xmlpage.class.inc.php'); require_once(APPROOT.'/application/csvpage.class.inc.php');
require_once(APPROOT.'/application/xmlpage.class.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(); // Check user rights and prompt if needed LoginWebPage::DoLogin(); // Check user rights and prompt if needed
$sOperation = utils::ReadParam('operation', 'menu'); $sOperation = utils::ReadParam('operation', 'menu');

View File

@@ -33,12 +33,13 @@
// - not outputing xml when a wrong input is given (class, attribute names) // - not outputing xml when a wrong input is given (class, attribute names)
// //
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/webpage.class.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once('../application/csvpage.class.inc.php'); require_once(APPROOT.'/application/webpage.class.inc.php');
require_once('../application/clipage.class.inc.php'); require_once(APPROOT.'/application/csvpage.class.inc.php');
require_once(APPROOT.'/application/clipage.class.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/startup.inc.php');
class BulkLoadException extends Exception class BulkLoadException extends Exception
{ {
@@ -230,7 +231,7 @@ if (utils::IsModeCLI())
else else
{ {
$_SESSION['login_mode'] = 'basic'; $_SESSION['login_mode'] = 'basic';
require_once('../application/loginwebpage.class.inc.php'); require_once(APPROOT.'/application/loginwebpage.class.inc.php');
LoginWebPage::DoLogin(); // Check user rights and prompt if needed LoginWebPage::DoLogin(); // Check user rights and prompt if needed
$oP = new CSVPage("iTop - Bulk import"); $oP = new CSVPage("iTop - Bulk import");

View File

@@ -26,8 +26,9 @@
// Important note: if some required includes are missing, this might result // Important note: if some required includes are missing, this might result
// in the error "looks like we got no XML document"... // in the error "looks like we got no XML document"...
require_once('../application/application.inc.php'); require_once('../approot.inc.php');
require_once('../application/startup.inc.php'); require_once(APPROOT.'/application/application.inc.php');
require_once(APPROOT.'/application/startup.inc.php');
require('./webservices.class.inc.php'); require('./webservices.class.inc.php');

View File

@@ -24,7 +24,7 @@
*/ */
require_once('../webservices/itopsoaptypes.class.inc.php'); require_once(APPROOT.'/webservices/itopsoaptypes.class.inc.php');
/** /**
* Generic response of iTop SOAP services * Generic response of iTop SOAP services