diff --git a/addons/userrights/userrightsmatrix.class.inc.php b/addons/userrights/userrightsmatrix.class.inc.php
index 5343a5fe7..8dc336764 100644
--- a/addons/userrights/userrightsmatrix.class.inc.php
+++ b/addons/userrights/userrightsmatrix.class.inc.php
@@ -187,7 +187,7 @@ class UserRightsMatrix extends UserRightsAddOnAPI
{
// Users must be added manually
// This procedure will then update the matrix when a new user is found or a new class/attribute appears
- $oUserSet = new DBObjectSet(DBObjectSearch::FromSibuSQL("UserRightsMatrixUsers"));
+ $oUserSet = new DBObjectSet(DBObjectSearch::FromOQL("SELECT UserRightsMatrixUsers"));
while ($oUser = $oUserSet->Fetch())
{
$this->SetupUser($oUser->GetKey());
diff --git a/application/audit.rule.class.inc.php b/application/audit.rule.class.inc.php
index 92230ce7d..1e66d0a0d 100644
--- a/application/audit.rule.class.inc.php
+++ b/application/audit.rule.class.inc.php
@@ -3,7 +3,7 @@ require_once('../application/audit.category.class.inc.php');
/**
* This class manages the audit "rule" linked to a given audit category.
- * Each rule is based ona SibusQL expression that returns either the "good" objects
+ * Each rule is based on an OQL expression that returns either the "good" objects
* or the "bad" ones. The core audit engines computes the complement to the definition
* set when needed to obtain either the valid objects, or the ones with an error
*/
diff --git a/application/cmdbabstract.class.inc.php b/application/cmdbabstract.class.inc.php
index ee42bf9dc..236c9e49b 100644
--- a/application/cmdbabstract.class.inc.php
+++ b/application/cmdbabstract.class.inc.php
@@ -85,7 +85,7 @@ abstract class cmdbAbstractObject extends CMDBObject
// action menu
$oSingletonFilter = new DBObjectSearch(get_class($this));
- $oSingletonFilter->AddCondition('pkey', array($this->GetKey()));
+ $oSingletonFilter->AddCondition('id', array($this->GetKey()));
$oBlock = new MenuBlock($oSingletonFilter, 'popup', false);
$oBlock->Display($oPage, -1);
@@ -211,7 +211,9 @@ abstract class cmdbAbstractObject extends CMDBObject
{
$oTemplate = new DisplayTemplate($sTemplate);
$sNameAttCode = MetaModel::GetNameAttributeCode(get_class($this));
- $oTemplate->Render($oPage, array('class_name'=> MetaModel::GetName(get_class($this)),'class'=> get_class($this),'pkey'=> $this->GetKey(), 'name' => $this->Get($sNameAttCode)));
+ // Note: to preserve backward compatibility with home-made templates, the placeholder '$pkey$' has been preserved
+ // but the preferred method is to use '$id$'
+ $oTemplate->Render($oPage, array('class_name'=> MetaModel::GetName(get_class($this)),'class'=> get_class($this), 'pkey'=> $this->GetKey(), 'id'=> $this->GetKey(), 'name' => $this->Get($sNameAttCode)));
}
else
{
diff --git a/application/displayblock.class.inc.php b/application/displayblock.class.inc.php
index dd313d9ce..5cb3db539 100644
--- a/application/displayblock.class.inc.php
+++ b/application/displayblock.class.inc.php
@@ -138,10 +138,6 @@ class DisplayBlock
$oFilter = CMDBSearchFilter::unserialize($sITopData);
break;
- case 'text/sibusql':
- $oFilter = CMDBSearchFilter::FromSibusQL($sITopData);
- break;
-
case 'text/oql':
$oFilter = CMDBSearchFilter::FromOQL($sITopData);
break;
diff --git a/application/template.class.inc.php b/application/template.class.inc.php
index b39371591..5fb74476f 100644
--- a/application/template.class.inc.php
+++ b/application/template.class.inc.php
@@ -31,11 +31,23 @@ class DisplayTemplate
$oPage->add(substr($this->m_sTemplate, $iBeforeTagPos, $iStart - $iBeforeTagPos));
if ($sTag == DisplayBlock::TAG_BLOCK)
{
- $oBlock = DisplayBlock::FromTemplate($sOuterTag);
- if (is_object($oBlock))
+ try
{
- $oBlock->Display($oPage, 'block_'.self::$iBlockCount, $aParams);
+ $oBlock = DisplayBlock::FromTemplate($sOuterTag);
+ if (is_object($oBlock))
+ {
+ $oBlock->Display($oPage, 'block_'.self::$iBlockCount, $aParams);
+ }
}
+ catch(OQLException $e)
+ {
+ $oPage->p('Error in template (please contact your administrator) - Invalid query');
+ }
+ catch(Exception $e)
+ {
+ $oPage->p('Error in template (please contact your administrator)');
+ }
+
self::$iBlockCount++;
}
else
@@ -175,19 +187,19 @@ class DisplayTemplate
$sTemplate = '
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = \'$class$\'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = \'$class$\'
- bizNetworkDevice: pkey = $pkey$
+ SELECT bizNetworkDevice AS d WHERE d.id = $id$
- bizInterface: device_id = $pkey$
+ SELECT bizInterface AS i WHERE i.device_id = $id$
- bizContact: PKEY IS contact_id IN (ContactsLinks: object_id = $pkey$)
+ SELECT bizContact AS c JOIN ContactsLinks AS l ON l.contact_id = c.id WHERE l.object_id = $id$
- bizDocument: PKEY IS doc_id IN (lnkDocumentRealObject: object_id = $pkey$)
+ SELECT bizDocument AS d JOIN lnkDocumentRealObject as l ON l.document_id = d.id WHERE l.object_id = $id$)';
diff --git a/application/templates/audit_category.html b/application/templates/audit_category.html
index 0ac638131..415555402 100644
--- a/application/templates/audit_category.html
+++ b/application/templates/audit_category.html
@@ -1,12 +1,12 @@
- $class$: pkey = $pkey$
+ SELECT $class$ WHERE id = $id$
$class$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-$class$: pkey = $pkey$
+SELECT $class$ WHERE id = $id$
- AuditRule: category_id = $pkey$
+ SELECT AuditRule WHERE category_id = $id$
diff --git a/application/usercontext.class.inc.php b/application/usercontext.class.inc.php
index 21451feee..89b89b93d 100644
--- a/application/usercontext.class.inc.php
+++ b/application/usercontext.class.inc.php
@@ -64,7 +64,7 @@ class UserContext
{
$oObject = null;
$oFilter = $this->NewFilter($sClass);
- $oFilter->AddCondition('pkey', $sKey, '=');
+ $oFilter->AddCondition('id', $sKey, '=');
$oSet = new CMDBObjectSet($oFilter);
if ($oSet->Count() > 0)
{
diff --git a/business/business_test.class.inc.php b/business/business_test.class.inc.php
index 3d1e0db7c..ff38a9d54 100644
--- a/business/business_test.class.inc.php
+++ b/business/business_test.class.inc.php
@@ -63,7 +63,7 @@ class cmdbObjectHomeMade extends cmdbObject
switch ($sRelCode)
{
case "Potes":
- $aRels = array("xxxx" => array("sQuery"=>"cmdbContact: pkey = 40", "bPropagate"=>true, "iDistance"=>3));
+ $aRels = array("xxxx" => array("sQuery"=>"SELECT cmdbContact AS c WHERE c.id = 40", "bPropagate"=>true, "iDistance"=>3));
return $aRels;
}
}
@@ -134,8 +134,8 @@ class cmdbContact extends cmdbObjectHomeMade
{
case "Potes":
$aRels = array(
- "zz1" => array("sQuery"=>"cmdbContact: name Begins with '\$[this.name::]' AND pkey != \$[this.pkey::]", "bPropagate"=>false, "iDistance"=>3),
- "zz2" => array("sQuery"=>"cmdbContact: owner = \$[this.owner::] AND owner != 2", "bPropagate"=>false, "iDistance"=>3),
+ "zz1" => array("sQuery"=>"SELECT cmdbContact AS c WHERE c.name = '\$[this.name::]'", "bPropagate"=>false, "iDistance"=>3),
+ "zz2" => array("sQuery"=>"SELECT cmdbContact AS c WHERE c.owner = \$[this.owner::] AND c.owner != 2", "bPropagate"=>false, "iDistance"=>3),
);
return array_merge($aRels, parent::GetRelationQueries($sRelCode));
}
diff --git a/business/templates/application.html b/business/templates/application.html
index a48915c12..368bc2b1d 100644
--- a/business/templates/application.html
+++ b/business/templates/application.html
@@ -1,29 +1,29 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT bizApplication WHERE id = $pkey$
+SELECT bizApplication WHERE id = $id$
- SELECT lnkClientServer WHERE server_id = $pkey$
+ SELECT lnkClientServer WHERE server_id = $id$
- SELECT lnkClientServer WHERE client_id = $pkey$
+ SELECT lnkClientServer WHERE client_id = $id$
- lnkInfraTicket: infra_id = $pkey$
+ SELECT lnkInfraTicket WHERE infra_id = $id$
- bizChangeTicket: PKEY IS ticket_id IN (lnkInfraChangeTicket: infra_id = $pkey$)
+ SELECT bizChangeTicket AS c JOIN lnkInfraChangeTicket AS l ON l.ticket_id = c.id WHERE l.infra_id = $id$
- SELECT lnkInfraContract WHERE infra_id = $pkey$
+ SELECT lnkInfraContract WHERE infra_id = $id$
- SELECT lnkInfraGrouping WHERE infra_id = $pkey$
+ SELECT lnkInfraGrouping WHERE infra_id = $id$
diff --git a/business/templates/change.html b/business/templates/change.html
index 714cd71e0..8bb8b135d 100644
--- a/business/templates/change.html
+++ b/business/templates/change.html
@@ -1,16 +1,16 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT $class$ WHERE id = $pkey$
+SELECT $class$ WHERE id = $id$
- SELECT lnkInfraChangeTicket WHERE ticket_id = $pkey$
+ SELECT lnkInfraChangeTicket WHERE ticket_id = $id$
- SELECT lnkContactChange WHERE change_id = $pkey$
+ SELECT lnkContactChange WHERE change_id = $id$
diff --git a/business/templates/circuit.html b/business/templates/circuit.html
index 2c2102c44..d217dbe22 100644
--- a/business/templates/circuit.html
+++ b/business/templates/circuit.html
@@ -1,21 +1,21 @@
- $class$: pkey = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-$class$: pkey = $pkey$
+SELECT $class$ WHERE id = $id$
- SELECT lnkContactRealObject WHERE object_id = $pkey$
+ SELECT lnkContactRealObject WHERE object_id = $id$
- SELECT lnkInfraTicket WHERE infra_id = $pkey$
+ SELECT lnkInfraTicket WHERE infra_id = $id$
- SELECT bizChangeTicket AS Change JOIN lnkInfraChangeTicket AS Link ON Link.ticket_id = Change.id WHERE Link.infra_id = $pkey$
+ SELECT bizChangeTicket AS Change JOIN lnkInfraChangeTicket AS Link ON Link.ticket_id = Change.id WHERE Link.infra_id = $id$
- SELECT lnkDocumentRealObject WHERE object_id = $pkey$
+ SELECT lnkDocumentRealObject WHERE object_id = $id$
diff --git a/business/templates/contract.html b/business/templates/contract.html
index 594a4c9d4..4f4e8dc22 100644
--- a/business/templates/contract.html
+++ b/business/templates/contract.html
@@ -1,18 +1,18 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT bizContract WHERE id = $pkey$
+SELECT bizContract WHERE id = $id$
- SELECT lnkInfraContract WHERE contract_id = $pkey$
+ SELECT lnkInfraContract WHERE contract_id = $id$
- SELECT lnkContactContract WHERE contract_id = $pkey$
+ SELECT lnkContactContract WHERE contract_id = $id$
- SELECT lnkDocumentContract WHERE contract_id = $pkey$
+ SELECT lnkDocumentContract WHERE contract_id = $id$
diff --git a/business/templates/default.html b/business/templates/default.html
index 541b31cdb..591490411 100644
--- a/business/templates/default.html
+++ b/business/templates/default.html
@@ -1,8 +1,8 @@
- $class$: pkey = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-$class$: pkey = $pkey$
+SELECT $class$ WHERE id = $id$
diff --git a/business/templates/document.html b/business/templates/document.html
index 72c723746..e112a5341 100644
--- a/business/templates/document.html
+++ b/business/templates/document.html
@@ -1,7 +1,7 @@
- $class$: pkey = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT $class$ WHERE id = $pkey$
+SELECT $class$ WHERE id = $id$
diff --git a/business/templates/group.html b/business/templates/group.html
index a45401ced..f2bec11da 100644
--- a/business/templates/group.html
+++ b/business/templates/group.html
@@ -1,16 +1,16 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT bizInfraGroup WHERE id = $pkey$
+SELECT bizInfraGroup WHERE id = $id$
- SELECT lnkInfraGrouping WHERE infra_group_id = $pkey$
+ SELECT lnkInfraGrouping WHERE infra_group_id = $id$
- SELECT lnkContactRealObject WHERE object_id = $pkey$
+ SELECT lnkContactRealObject WHERE object_id = $id$
diff --git a/business/templates/interface.html b/business/templates/interface.html
index 7b2a95fc3..0a2d21dc3 100644
--- a/business/templates/interface.html
+++ b/business/templates/interface.html
@@ -1,13 +1,13 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT bizInterface WHERE id = $pkey$
+SELECT bizInterface WHERE id = $id$
- SELECT lnkInfraGrouping WHERE infra_id = $pkey$
+ SELECT lnkInfraGrouping WHERE infra_id = $id$
diff --git a/business/templates/knownError.html b/business/templates/knownError.html
index 4b2ab68ce..8c05dff96 100644
--- a/business/templates/knownError.html
+++ b/business/templates/knownError.html
@@ -1,11 +1,11 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT bizKnownError WHERE id = $pkey$
+SELECT bizKnownError WHERE id = $id$
- SELECT lnkInfraError WHERE error_id = $pkey$
+ SELECT lnkInfraError WHERE error_id = $id$
diff --git a/business/templates/location.html b/business/templates/location.html
index 2e3e67591..f2d9ba697 100644
--- a/business/templates/location.html
+++ b/business/templates/location.html
@@ -1,25 +1,25 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT bizLocation WHERE id = $pkey$
+SELECT bizLocation WHERE id = $id$
- SELECT bizContact WHERE location_id = $pkey$
+ SELECT bizContact WHERE location_id = $id$
- SELECT bizServer WHERE location_id = $pkey$
+ SELECT bizServer WHERE location_id = $id$
- SELECT bizPC WHERE location_id = $pkey$
+ SELECT bizPC WHERE location_id = $id$
- SELECT bizNetworkDevice WHERE location_id = $pkey$
+ SELECT bizNetworkDevice WHERE location_id = $id$
- SELECT lnkDocumentRealObject WHERE object_id = $pkey$
+ SELECT lnkDocumentRealObject WHERE object_id = $id$
diff --git a/business/templates/network.device.html b/business/templates/network.device.html
index 182cf984d..47d1dc623 100644
--- a/business/templates/network.device.html
+++ b/business/templates/network.device.html
@@ -1,28 +1,28 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT bizNetworkDevice WHERE id = $pkey$
+SELECT bizNetworkDevice WHERE id = $id$
- SELECT bizInterface WHERE device_id = $pkey$
+ SELECT bizInterface WHERE device_id = $id$
- SELECT lnkContactInfra WHERE infra_id = $pkey$
+ SELECT lnkContactInfra WHERE infra_id = $id$
- SELECT lnkInfraTicket WHERE infra_id = $pkey$
+ SELECT lnkInfraTicket WHERE infra_id = $id$
- bizChangeTicket: PKEY IS ticket_id IN (lnkInfraChangeTicket: infra_id = $pkey$)
+ SELECT bizChangeTicket AS c JOIN lnkInfraChangeTicket AS l ON l.ticket_id = c.id WHERE l.infra_id = $id$
- SELECT lnkInfraGrouping WHERE infra_id = $pkey$
+ SELECT lnkInfraGrouping WHERE infra_id = $id$
- SELECT lnkDocumentRealObject WHERE object_id = $pkey$
+ SELECT lnkDocumentRealObject WHERE object_id = $id$
diff --git a/business/templates/pc.html b/business/templates/pc.html
index 077b9cba1..afe5fe2ef 100644
--- a/business/templates/pc.html
+++ b/business/templates/pc.html
@@ -1,30 +1,30 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT bizPC WHERE id = $pkey$
+SELECT bizPC WHERE id = $id$
- SELECT bizApplication WHERE device_id = $pkey$
+ SELECT bizApplication WHERE device_id = $id$
- SELECT bizPatch WHERE device_id = $pkey$
+ SELECT bizPatch WHERE device_id = $id$
- SELECT bizInterface WHERE device_id = $pkey$
+ SELECT bizInterface WHERE device_id = $id$
- SELECT lnkContactRealObject WHERE object_id = $pkey$
+ SELECT lnkContactRealObject WHERE object_id = $id$
- SELECT lnkInfraTicket WHERE infra_id = $pkey$
+ SELECT lnkInfraTicket WHERE infra_id = $id$
- SELECT lnkInfraGrouping WHERE infra_id = $pkey$
+ SELECT lnkInfraGrouping WHERE infra_id = $id$
- SELECT lnkDocumentRealObject WHERE object_id = $pkey$
+ SELECT lnkDocumentRealObject WHERE object_id = $id$
diff --git a/business/templates/person.html b/business/templates/person.html
index c59073aef..f90961ad9 100644
--- a/business/templates/person.html
+++ b/business/templates/person.html
@@ -1,22 +1,22 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT bizPerson WHERE id = $pkey$
+SELECT bizPerson WHERE id = $id$
- SELECT lnkContactTeam WHERE contact_id = $pkey$
+ SELECT lnkContactTeam WHERE contact_id = $id$
- SELECT lnkContactRealObject WHERE contact_id = $pkey$
+ SELECT lnkContactRealObject WHERE contact_id = $id$
- SELECT bizServiceCall WHERE caller_id = $pkey$
+ SELECT bizServiceCall WHERE caller_id = $id$
- SELECT lnkDocumentRealObject WHERE object_id = $pkey$
+ SELECT lnkDocumentRealObject WHERE object_id = $id$
diff --git a/business/templates/server.html b/business/templates/server.html
index edd68d515..f0a93c518 100644
--- a/business/templates/server.html
+++ b/business/templates/server.html
@@ -1,34 +1,34 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT bizServer WHERE id = $pkey$
+SELECT bizServer WHERE id = $id$
- SELECT bizApplication WHERE device_id = $pkey$
+ SELECT bizApplication WHERE device_id = $id$
- SELECT bizPatch WHERE device_id = $pkey$
+ SELECT bizPatch WHERE device_id = $id$
- SELECT bizInterface WHERE device_id = $pkey$
+ SELECT bizInterface WHERE device_id = $id$
- SELECT lnkContactRealObject WHERE object_id = $pkey$
+ SELECT lnkContactRealObject WHERE object_id = $id$
- SELECT lnkInfraTicket WHERE infra_id = $pkey$
+ SELECT lnkInfraTicket WHERE infra_id = $id$
- SELECT bizChangeTicket AS Change JOIN lnkInfraChangeTicket AS Link ON Link.ticket_id = Change.id WHERE Link.infra_id = $pkey$
+ SELECT bizChangeTicket AS Change JOIN lnkInfraChangeTicket AS Link ON Link.ticket_id = Change.id WHERE Link.infra_id = $id$
- SELECT lnkInfraGrouping WHERE infra_id = $pkey$
+ SELECT lnkInfraGrouping WHERE infra_id = $id$
- SELECT lnkDocumentRealObject WHERE object_id = $pkey$
+ SELECT lnkDocumentRealObject WHERE object_id = $id$
diff --git a/business/templates/service.html b/business/templates/service.html
index f26268d80..00fa62b7e 100644
--- a/business/templates/service.html
+++ b/business/templates/service.html
@@ -1,13 +1,13 @@
- $class$: pkey = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT bizService WHERE id=$pkey$
+SELECT bizService WHERE id=$id$
- SELECT bizContract WHERE service_id = $pkey$
+ SELECT bizContract WHERE service_id = $id$
diff --git a/business/templates/serviceCall.html b/business/templates/serviceCall.html
index 38ed4e2c1..ae9a374bf 100644
--- a/business/templates/serviceCall.html
+++ b/business/templates/serviceCall.html
@@ -1,16 +1,16 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT $class$ WHERE id = $pkey$
+SELECT $class$ WHERE id = $id$
- SELECT lnkInfraCall WHERE call_id = $pkey$
+ SELECT lnkInfraCall WHERE call_id = $id$
- SELECT lnkCallTicket WHERE call_id = $pkey$
+ SELECT lnkCallTicket WHERE call_id = $id$
diff --git a/business/templates/serviceRequest.html b/business/templates/serviceRequest.html
index 4e95b7b51..7de7c26cb 100644
--- a/business/templates/serviceRequest.html
+++ b/business/templates/serviceRequest.html
@@ -1,12 +1,12 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT $class$ WHERE id = $pkey$
+SELECT $class$ WHERE id = $id$
- SELECT bizServiceItem WHERE request_id = $pkey$
+ SELECT bizServiceItem WHERE request_id = $id$
diff --git a/business/templates/software.html b/business/templates/software.html
index 12663e9e2..ac5f4dea2 100644
--- a/business/templates/software.html
+++ b/business/templates/software.html
@@ -1,13 +1,13 @@
- $class$: pkey = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-bizSoftware: pkey = $pkey$
+SELECT bizSoftware WHERE id = $id$
- bizApplication: soft_id = $pkey$
+ SELECT bizApplication WHERE soft_id = $id$
diff --git a/business/templates/team.html b/business/templates/team.html
index d38eea2f6..c1af81e4a 100644
--- a/business/templates/team.html
+++ b/business/templates/team.html
@@ -1,22 +1,22 @@
- SELECT $class$ WHERE id = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-SELECT $class$ WHERE id = $pkey$
+SELECT $class$ WHERE id = $id$
- SELECT lnkContactTeam WHERE team_id=$pkey$
+ SELECT lnkContactTeam WHERE team_id=$id$
- SELECT lnkContactInfra WHERE contact_id = $pkey$
+ SELECT lnkContactInfra WHERE contact_id = $id$
- SELECT bizWorkgroup WHERE team_id = $pkey$
+ SELECT bizWorkgroup WHERE team_id = $id$
- SELECT lnkDocumentRealObject WHERE object_id = $pkey$
+ SELECT lnkDocumentRealObject WHERE object_id = $id$
diff --git a/business/templates/ticket.html b/business/templates/ticket.html
index 10df94386..743987493 100644
--- a/business/templates/ticket.html
+++ b/business/templates/ticket.html
@@ -1,22 +1,22 @@
- $class$: pkey = $pkey$
+ SELECT $class$ WHERE id = $id$
$class_name$: $name$
- SELECT CMDBChangeOp WHERE objkey = $pkey$ AND objclass = '$class$'
+ SELECT CMDBChangeOp WHERE objkey = $id$ AND objclass = '$class$'
-$class$: pkey = $pkey$
+SELECT $class$ WHERE id = $id$
- SELECT lnkInfraTicket WHERE ticket_id = $pkey$
+ SELECT lnkInfraTicket WHERE ticket_id = $id$
- SELECT lnkRelatedTicket WHERE ticket_id = $pkey$
+ SELECT lnkRelatedTicket WHERE ticket_id = $id$
- SELECT lnkContactTicket WHERE ticket_id = $pkey$
+ SELECT lnkContactTicket WHERE ticket_id = $id$
- SELECT EventNotificationEmail AS Ev JOIN TriggerOnObject AS T ON Ev.trigger_id = T.id WHERE T.target_class = 'bizIncidentTicket' AND Ev.object_id = $pkey$
+ SELECT EventNotificationEmail AS Ev JOIN TriggerOnObject AS T ON Ev.trigger_id = T.id WHERE T.target_class = 'bizIncidentTicket' AND Ev.object_id = $id$
diff --git a/core/action.class.inc.php b/core/action.class.inc.php
index d17424503..259972f0b 100644
--- a/core/action.class.inc.php
+++ b/core/action.class.inc.php
@@ -188,7 +188,7 @@ class ActionEmail extends ActionNotification
{
$oSearch = DBObjectSearch::FromOQL($sOQL);
}
- catch (OqlException $e)
+ catch (OQLException $e)
{
$this->m_aMailErrors[] = "query syntax error for recipient '$sRecipAttCode'";
return $e->getMessage();
diff --git a/core/attributedef.class.inc.php b/core/attributedef.class.inc.php
index 6bf2072a5..1a7bdb7b6 100644
--- a/core/attributedef.class.inc.php
+++ b/core/attributedef.class.inc.php
@@ -1085,7 +1085,7 @@ class AttributeExternalKey extends AttributeDBFieldVoid
if (!$oValSetDef)
{
// Let's propose every existing value
- $oValSetDef = new ValueSetObjects($this->GetTargetClass());
+ $oValSetDef = new ValueSetObjects('SELECT '.$this->GetTargetClass());
}
return $oValSetDef;
}
@@ -1099,7 +1099,7 @@ class AttributeExternalKey extends AttributeDBFieldVoid
catch (MissingQueryArgument $e)
{
// Some required arguments could not be found, enlarge to any existing value
- $oValSetDef = new ValueSetObjects($this->GetTargetClass());
+ $oValSetDef = new ValueSetObjects('SELECT '.$this->GetTargetClass());
return $oValSetDef->GetValues($aArgs, $sBeginsWith);
}
}
diff --git a/core/cmdbobject.class.inc.php b/core/cmdbobject.class.inc.php
index 70f24506b..64485a4e8 100644
--- a/core/cmdbobject.class.inc.php
+++ b/core/cmdbobject.class.inc.php
@@ -383,7 +383,7 @@ abstract class CMDBObject extends DBObject
// Get the list of objects to delete (and record data before deleting the DB records)
$oObjSet = new CMDBObjectSet($oFilter);
- $aObjAndKeys = array(); // array of pkey=>object
+ $aObjAndKeys = array(); // array of id=>object
while ($oItem = $oObjSet->Fetch())
{
$aObjAndKeys[$oItem->GetKey()] = $oItem;
diff --git a/core/data.generator.class.inc.php b/core/data.generator.class.inc.php
index 03cb9db64..f113a89e3 100644
--- a/core/data.generator.class.inc.php
+++ b/core/data.generator.class.inc.php
@@ -350,7 +350,7 @@ class cmdbDataGenerator
{
$oOrg = null;
$oFilter = new CMDBSearchFilter('bizOrganization');
- $oFilter->AddCondition('pkey', $sId, '=');
+ $oFilter->AddCondition('id', $sId, '=');
$oSet = new CMDBObjectSet($oFilter);
if ($oSet->Count() > 0)
{
diff --git a/core/dbobjectsearch.class.php b/core/dbobjectsearch.class.php
index d66d22dad..4d7c3ed21 100644
--- a/core/dbobjectsearch.class.php
+++ b/core/dbobjectsearch.class.php
@@ -13,22 +13,6 @@
*/
-/**
- * Sibusql - value set start
- * @package iTopORM
- */
-define('VS_START', '{');
-/**
- * Sibusql - value set end
- * @package iTopORM
- */
-define('VS_END', '}');
-
-
-define('SIBUSQLPARAMREGEXP', "/\\$\\[(.*)\\:(.*)\\:(.*)\\]/U");
-define('SIBUSQLTHISREGEXP', "/this\\.(.*)/U");
-
-
/**
* Define filters for a given class of objects (formerly named "filter")
*
@@ -241,11 +225,6 @@ class DBObjectSearch
public function AddCondition($sFilterCode, $value, $sOpCode = null)
{
- // #@# backward compatibility for pkey/id
- if (strtolower(trim($sFilterCode)) == 'pkey') $sFilterCode = 'id';
-// #@# todo - obsolete smoothly, first send exceptions
-// throw new CoreException('SibusQL has been obsoleted, please update your queries', array('sibusql'=>$sQuery, 'oql'=>$oFilter->ToOQL()));
-
MyHelpers::CheckKeyInArray('filter code', $sFilterCode, MetaModel::GetClassFilterDefs($this->GetClass()));
$oFilterDef = MetaModel::GetClassFilterDef($this->GetClass(), $sFilterCode);
@@ -719,77 +698,6 @@ class DBObjectSearch
return $sRes;
}
- public function ToSibusQL()
- {
- return "NONONO";
- }
-
- static private function privProcessParams($sQuery, array $aParams, $oDbObject)
- {
- $iPlaceHoldersCount = preg_match_all(SIBUSQLPARAMREGEXP, $sQuery, $aMatches, PREG_SET_ORDER);
- if ($iPlaceHoldersCount > 0)
- {
- foreach($aMatches as $aMatch)
- {
- $sStringToSearch = $aMatch[0];
- $sParameterName = $aMatch[1];
- $sDefaultValue = $aMatch[2];
- $sDescription = $aMatch[3];
-
- $sValue = $sDefaultValue;
- if (array_key_exists($sParameterName, $aParams))
- {
- $sValue = $aParams[$sParameterName];
- unset($aParams[$sParameterName]);
- }
- else if (is_object($oDbObject))
- {
- if (strpos($sParameterName, "this.") === 0)
- {
- $sAttCode = substr($sParameterName, strlen("this."));
- if ($sAttCode == 'id')
- {
- $sValue = $oDbObject->GetKey();
- }
- else if ($sAttCode == 'class')
- {
- $sValue = get_class($oDbObject);
- }
- else if (MetaModel::IsValidAttCode(get_class($oDbObject), $sAttCode))
- {
- $sValue = $oDbObject->Get($sAttCode);
- }
- }
- }
- $sQuery = str_replace($sStringToSearch, $sValue, $sQuery);
- }
- }
- if (count($aParams) > 0)
- {
-// throw new CoreException("Unused parameter(s) for this SibusQL expression: (".implode(', ', array_keys($aParams)).")");
- }
- return $sQuery;
- }
-
- static public function ListSibusQLParams($sQuery)
- {
- $aRet = array();
- $iPlaceHoldersCount = preg_match_all(SIBUSQLPARAMREGEXP, $sQuery, $aMatches, PREG_SET_ORDER);
- if ($iPlaceHoldersCount > 0)
- {
- foreach($aMatches as $aMatch)
- {
- $sStringToSearch = $aMatch[0];
- $sParameterName = $aMatch[1];
- $sDefaultValue = $aMatch[2];
- $sDescription = $aMatch[3];
- $aRet[$sParameterName]["description"] = $sDescription;
- $aRet[$sParameterName]["default"] = $sDefaultValue;
- }
- }
- return $aRet;
- }
-
protected function OQLExpressionToCondition($sQuery, $oExpression, $aClassAliases)
{
if ($oExpression instanceof BinaryOqlExpression)
@@ -991,111 +899,6 @@ class DBObjectSearch
return $oResultFilter;
}
- static public function FromSibusQL($sQuery, array $aParams = array(), $oObject = null)
- {
- if (empty($sQuery)) return null;
- $sQuery = self::privProcessParams($sQuery, $aParams, $oObject);
-
- if (preg_match('@^\\s*SELECT@', $sQuery))
- {
- return self::FromOQL($sQuery);
- }
-
- $iSepPos = strpos($sQuery, ":");
- if ($iSepPos === false)
- {
- // Only the class was specified -> all rows are required
- $sClass = trim($sQuery);
- $oFilter = new DBObjectSearch($sClass);
- }
- else
- {
- $sClass = trim(substr($sQuery, 0, $iSepPos));
- $sConds = trim(substr($sQuery, $iSepPos + 1));
- $aValues = explode(" AND ", $sConds);
-
- $oFilter = new DBObjectSearch($sClass);
-
- foreach ($aValues as $sCond)
- {
- $sCond = trim($sCond);
-
- if (strpos($sCond, "* HAS ") === 0)
- {
- $sValue = self::Expression2Value(substr($sCond, strlen("* HAS ")));
- $oFilter->AddCondition_FullText($sValue);
- }
- else if (preg_match("@^(\S+) IN \\((.+)\\)$@", $sCond, $aMatches))
- {
- $sExtKeyAttCode = $aMatches[1];
- $sFilterExp = $aMatches[2];
-
- $oSubFilter = self::FromSibuSQL($sFilterExp);
- $oFilter->AddCondition_PointingTo($oSubFilter, $sExtKeyAttCode);
- }
- else if (strpos($sCond, "PKEY IS ") === 0)
- {
- if (preg_match("@^PKEY IS (\S+) IN \\((.+)\\)$@", $sCond, $aMatches))
- {
- $sExtKeyAttCodeToMe = $aMatches[1];
- $sFilterExp = $aMatches[2];
- $oRemoteFilter = self::FromSibuSQL($sFilterExp);
- $oFilter->AddCondition_ReferencedBy($oRemoteFilter, $sExtKeyAttCodeToMe);
- }
- }
- else if (strpos($sCond, "RELATED") === 0)
- {
- if (preg_match("@^RELATED\s*\\((.+)\\)\s*TO\s*\\((.+)\\)@", trim($sCond), $aMatches))
- {
- $aRelation = explode(',', trim($aMatches[1]));
- $sRelCode = trim($aRelation[0]);
- $iMaxDepth = intval(trim($aRelation[1]));
- $sFilterExp = trim($aMatches[2]);
-
- $oSubFilter = self::FromSibuSQL($sFilterExp);
- $oFilter->AddCondition_RelatedTo($oSubFilter, $sRelCode, $iMaxDepth);
- }
- }
- else
- {
- $sOperandExpr = "'.*'|\d+|-\d+|".VS_START.".+".VS_END;
- if (preg_match("@^(\S+)\s+(.*)\s+($sOperandExpr)$@", $sCond, $aMatches))
- {
- $sFltCode = trim($aMatches[1]);
- $sOpCode = trim($aMatches[2]);
- $value = self::Expression2Value($aMatches[3]);
- $oFilter->AddCondition($sFltCode, $value, $sOpCode);
- }
- else
- {
- throw new CoreException("Wrong format for filter definition: '$sQuery'");
- }
- }
- }
- }
-
-// #@# todo - obsolete smoothly, first give the OQL version !
-// throw new CoreException('SibusQL has been obsoleted, please update your queries', array('sibusql'=>$sQuery, 'oql'=>$oFilter->ToOQL()));
-
- return $oFilter;
- }
-
- // Sexy display of a SibuSQL expression
- static public function SibuSQLAsHtml($sQuery)
- {
- $sQuery = htmlentities($sQuery);
- $aParams = self::ListSibusQLParams($sQuery);
- $aParamValues = array();
- foreach ($aParams as $sParamName => $aParamInfo)
- {
- $sDescription = $aParamInfo["description"];
- $sDefaultValue = $aParamInfo["default"];
- $aParamValues[$sParamName] = "$sParamName";
- }
- $sQuery = self::privProcessParams($sQuery, $aParamValues, null);
- return $sQuery;
- }
-
public function toxpath()
{
// #@# a voir...
diff --git a/core/dbobjectset.class.php b/core/dbobjectset.class.php
index a8ae635d9..14ac3fbff 100644
--- a/core/dbobjectset.class.php
+++ b/core/dbobjectset.class.php
@@ -41,7 +41,7 @@ class DBObjectSet
{
$sRet = '';
$this->Rewind();
- $sRet .= "Set (".$this->m_oFilter->ToSibuSQL().") \n";
+ $sRet .= "Set (".$this->m_oFilter->ToOQL().") \n";
$sRet .= "Query:
\n");
- }
-}
-
-function DisplayDetails(WebPage $oPage, $sClassName, $sKey)
-{
- global $oContext;
- //$oObj = MetaModel::GetObject($sClassName, $sKey);
- $oObj = $oContext->GetObject($sClassName, $sKey);
- $oPage->p("Details of ".MetaModel::GetName($sClassName)." - $sKey");
-
- $oObj->DisplayDetails($oPage);
-
- // Modified by rom
- $aLinks = array();
- $aLinks[] = "View changes log";
- $aLinks[] = "Edit this object";
- $aLinks[] = "Delete this object (no confirmation!)";
- // By rom
- foreach (MetaModel::EnumLinkingClasses($sClassName) as $sLinkClass => $aRemoteClasses)
- {
- foreach($aRemoteClasses as $sExtKeyAttCode => $sRemoteClass)
- {
- // #@# quick and dirty: guess the extkey attcode from link to current class
- // later, this information should be part of the biz model
- $sExtKeyToMe = "";
- foreach(MetaModel::ListAttributeDefs($sLinkClass) as $sAttCode=>$oAttDef)
- {
- if ($oAttDef->IsExternalKey() && $oAttDef->GetTargetClass() == $sClassName)
- {
- $sExtKeyToMe = $sAttCode;
- break;
- }
- }
- if (empty($sExtKeyToMe))
- {
- $oPage->p("Houston... could not find the external key for $sClassName in $sLinkClass");
- }
- else
- {
- $oFilter = new CMDBSearchFilter($sRemoteClass); // just a dummy empty one for edition
-
- $sButton = "