diff --git a/dictionaries/dictionary.itop.ui.php b/dictionaries/dictionary.itop.ui.php
index f67481bba..ee48ae9cd 100644
--- a/dictionaries/dictionary.itop.ui.php
+++ b/dictionaries/dictionary.itop.ui.php
@@ -452,6 +452,65 @@ Dict::Add('EN US', 'English', 'English', array(
'UI:RunQuery:DevelopedQuery' => 'Redevelopped query expression: ',
'UI:RunQuery:SerializedFilter' => 'Serialized filter: ',
'UI:RunQuery:Error' => 'An error occured while running the query: %1$s',
+
+ 'UI:Schema:Title' => 'iTop objects schema',
+ 'UI:Schema:CategoryMenuItem' => 'Category %1$s',
+ 'UI:Schema:Relationships' => 'Relationships',
+ 'UI:Schema:AbstractClass' => 'Abstract class: no object from this class can be instantiated.',
+ 'UI:Schema:NonAbstractClass' => 'Non abstract class: objects from this class can be instantiated.',
+ 'UI:Schema:ClassHierarchyTitle' => 'Class hierarchy',
+ 'UI:Schema:AllClasses' => 'All classes',
+ 'UI:Schema:ExternalKey_To' => 'External key to %1$s',
+ 'UI:Schema:Columns_Description' => 'Columns: %1$s',
+ 'UI:Schema:Default_Description' => 'Default: "%1$s"',
+ 'UI:Schema:NullAllowed' => 'Null Allowed',
+ 'UI:Schema:NullNotAllowed' => 'Null NOT Allowed',
+ 'UI:Schema:Attributes' => 'Attributes',
+ 'UI:Schema:AttributeCode' => 'Attribute Code',
+ 'UI:Schema:AttributeCode+' => 'Internal code of the attribute',
+ 'UI:Schema:Label' => 'Label',
+ 'UI:Schema:Label+' => 'Label of the attribute',
+ 'UI:Schema:Type' => 'Type',
+ 'UI:Schema:Type+' => 'Data type of the attribute',
+ 'UI:Schema:Origin' => 'Origin',
+ 'UI:Schema:Origin+' => 'The base class in which this attribute is defined',
+ 'UI:Schema:Description' => 'Description',
+ 'UI:Schema:Description+' => 'Description of the attribute',
+ 'UI:Schema:AllowedValues' => 'Allowed values',
+ 'UI:Schema:AllowedValues+' => 'Restrictions on the possible values for this attribute',
+ 'UI:Schema:MoreInfo' => 'More info',
+ 'UI:Schema:MoreInfo+' => 'More information about the field defined in the database',
+ 'UI:Schema:SearchCriteria' => 'Search criteria',
+ 'UI:Schema:FilterCode' => 'Filter code',
+ 'UI:Schema:FilterCode+' => 'Code of this search criteria',
+ 'UI:Schema:FilterDescription' => 'Description',
+ 'UI:Schema:FilterDescription+' => 'Description of this search criteria',
+ 'UI:Schema:AvailOperators' => 'Available operators',
+ 'UI:Schema:AvailOperators+' => 'Possible operators for this search criteria',
+ 'UI:Schema:ChildClasses' => 'Child classes',
+ 'UI:Schema:ReferencingClasses' => 'Referencing classes',
+ 'UI:Schema:RelatedClasses' => 'Related classes',
+ 'UI:Schema:LifeCycle' => 'Life cycle',
+ 'UI:Schema:Triggers' => 'Triggers',
+ 'UI:Schema:Relation_Code_Description' => 'Relation %1$s (%2$s)',
+ 'UI:Schema:RelationDown_Description' => 'Down: %1$s',
+ 'UI:Schema:RelationUp_Description' => 'Up: %1$s',
+ 'UI:Schema:RelationPropagates' => '%1$s: propagate to %2$d levels, query: %3$s',
+ 'UI:Schema:RelationDoesNotPropagate' => '%1$s: does not propagates (%2$d levels), query: %3$s',
+ 'UI:Schema:Class_ReferencingClasses_From_By' => '%1$s is referenced by the class %2$s via the field %3$s',
+ 'UI:Schema:Class_IsLinkedTo_Class_Via_ClassAndAttribute' => '%1$s is linked to %2$s via %3$s::%4$s',
+ 'UI:Schema:Links:1-n' => 'Classes pointing to %1$s (1:n links):',
+ 'UI:Schema:Links:n-n' => 'Classes linked to %1$s (n:n links):',
+ 'UI:Schema:Links:All' => 'Graph of all related classes',
+ 'UI:Schema:NoLifeCyle' => 'There is no life cycle defined for this class.',
+ 'UI:Schema:LifeCycleTransitions' => 'Transitions',
+ 'UI:Schema:LifeCyleAttributeOptions' => 'Attribute options',
+ 'UI:Schema:LifeCycleHiddenAttribute' => 'Hidden',
+ 'UI:Schema:LifeCycleReadOnlyAttribute' => 'Read-only',
+ 'UI:Schema:LifeCycleMandatoryAttribute' => 'Mandatory',
+ 'UI:Schema:LifeCycleAttributeMustChange' => 'Must change',
+ 'UI:Schema:LifeCycleAttributeMustPrompt' => 'User will be prompted to change the value',
+ 'UI:Schema:LifeCycleEmptyList' => 'empty list',
));
diff --git a/dictionaries/fr.dictionary.itop.ui.php b/dictionaries/fr.dictionary.itop.ui.php
index d6cd276fa..bea05ca4d 100644
--- a/dictionaries/fr.dictionary.itop.ui.php
+++ b/dictionaries/fr.dictionary.itop.ui.php
@@ -453,6 +453,65 @@ Dict::Add('FR FR', 'French', 'Français', array(
'UI:RunQuery:SerializedFilter' => 'Version sérialisée : ',
'UI:RunQuery:Error' => 'Une erreur s\'est produite durant l\'exécution de la requête: %1$s',
+ 'UI:Schema:Title' => 'Modèle de données iTop',
+ 'UI:Schema:CategoryMenuItem' => 'Catégorie %1$s',
+ 'UI:Schema:Relationships' => 'Relations',
+ 'UI:Schema:AbstractClass' => 'Class abstraite: les objets de cette classe ne peuvent pas être instanciés.',
+ 'UI:Schema:NonAbstractClass' => 'Class concrète: les objets de cette classe peuvent être instanciés.',
+ 'UI:Schema:ClassHierarchyTitle' => 'Hiérachie des classes',
+ 'UI:Schema:AllClasses' => 'Toutes les classes',
+ 'UI:Schema:ExternalKey_To' => 'Clef externe vers %1$s',
+ 'UI:Schema:Columns_Description' => 'Colonnes: %1$s',
+ 'UI:Schema:Default_Description' => 'Valeur par défaut: "%1$s"',
+ 'UI:Schema:NullAllowed' => 'Null autorisé',
+ 'UI:Schema:NullNotAllowed' => 'Null interdit',
+ 'UI:Schema:Attributes' => 'Attributs',
+ 'UI:Schema:AttributeCode' => 'Code',
+ 'UI:Schema:AttributeCode+' => 'Code interne de l\'attribut',
+ 'UI:Schema:Label' => 'Label',
+ 'UI:Schema:Label+' => 'Label de l\'attribut',
+ 'UI:Schema:Type' => 'Type',
+ 'UI:Schema:Type+' => 'Type de données de l\'attribut',
+ 'UI:Schema:Origin' => 'Origine',
+ 'UI:Schema:Origin+' => 'La classe de base dans laquelle l\'attribut est défini',
+ 'UI:Schema:Description' => 'Description',
+ 'UI:Schema:Description+' => 'Description de l\'attribut',
+ 'UI:Schema:AllowedValues' => 'Valeurs possibles',
+ 'UI:Schema:AllowedValues+' => 'Restrictions des valeurs possibles pour cet attribut',
+ 'UI:Schema:MoreInfo' => 'Plus info',
+ 'UI:Schema:MoreInfo+' => 'Plus d\'information à propos de la définition de ce champ dans la base de données',
+ 'UI:Schema:SearchCriteria' => 'Critères de recherche',
+ 'UI:Schema:FilterCode' => 'Code',
+ 'UI:Schema:FilterCode+' => 'Code de ce critère de recherche',
+ 'UI:Schema:FilterDescription' => 'Description',
+ 'UI:Schema:FilterDescription+' => 'Description de ce critère de recherche',
+ 'UI:Schema:AvailOperators' => 'Opérateurs',
+ 'UI:Schema:AvailOperators+' => 'Opérateurs possibles pour ce critère de recherche',
+ 'UI:Schema:ChildClasses' => 'Classes dérivées',
+ 'UI:Schema:ReferencingClasses' => 'Classes faisant référence',
+ 'UI:Schema:RelatedClasses' => 'Classes reliées',
+ 'UI:Schema:LifeCycle' => 'Cycle de vie',
+ 'UI:Schema:Triggers' => 'Déclencheurs',
+ 'UI:Schema:Relation_Code_Description' => 'Relation %1$s (%2$s)',
+ 'UI:Schema:RelationDown_Description' => 'Sens descendant: %1$s',
+ 'UI:Schema:RelationUp_Description' => 'Sens montant: %1$s',
+ 'UI:Schema:RelationPropagates' => '%1$s: se propage sur %2$d niveau(x), requête: %3$s',
+ 'UI:Schema:RelationDoesNotPropagate' => '%1$s: ne se propage pas (%2$d niveaux), requête: %3$s',
+ 'UI:Schema:Class_ReferencingClasses_From_By' => '%1$s est référencé par la classe %2$s via le champ %3$s',
+ 'UI:Schema:Class_IsLinkedTo_Class_Via_ClassAndAttribute' => '%1$s est lié à la classe %2$s via %3$s::%4$s',
+ 'UI:Schema:Links:1-n' => 'Classes pointant sur %1$s (liens 1:n):',
+ 'UI:Schema:Links:n-n' => 'Classes liées à %1$s (liens n:n):',
+ 'UI:Schema:Links:All' => 'Graphe de toutes les classes liées',
+ 'UI:Schema:NoLifeCyle' => 'Aucun cycle de vie n\'est défini pour cette classe.',
+ 'UI:Schema:LifeCycleTransitions' => 'Transitions',
+ 'UI:Schema:LifeCyleAttributeOptions' => 'Options des attributs',
+ 'UI:Schema:LifeCycleHiddenAttribute' => 'Caché',
+ 'UI:Schema:LifeCycleReadOnlyAttribute' => 'Lecture seule',
+ 'UI:Schema:LifeCycleMandatoryAttribute' => 'Obligatoire',
+ 'UI:Schema:LifeCycleAttributeMustChange' => 'Doit changer',
+ 'UI:Schema:LifeCycleAttributeMustPrompt' => 'L\'utilisateur se verra proposer de changer la valeur',
+ 'UI:Schema:LifeCycleEmptyList' => 'liste vide',
+
));
?>
diff --git a/pages/schema.php b/pages/schema.php
index 2682e1c5f..b77703847 100644
--- a/pages/schema.php
+++ b/pages/schema.php
@@ -61,7 +61,7 @@ function DisplayReferencingClasses($oPage, $sClass)
{
foreach ($aRemoteKeys as $sExtKeyAttCode => $oExtKeyAttDef)
{
- $oPage->add("
".MakeClassHLink($sRemoteClass)." by $sExtKeyAttCode\n");
+ $oPage->add("".Dict::Format('UI:Schema:Class_ReferencingClasses_From_By', $sClass, MakeClassHLink($sRemoteClass), $sExtKeyAttCode)."\n");
}
}
$oPage->add("\n");
@@ -82,7 +82,7 @@ function DisplayLinkingClasses($oPage, $sClass)
{
foreach($aRemoteClasses as $sExtKeyAttCode => $sRemoteClass)
{
- $oPage->add("".MakeClassHLink($sRemoteClass)." by ".MakeClassHLink($sLinkClass)."::$sExtKeyAttCode\n");
+ $oPage->add("".Dict::Format('UI:Schema:Class_IsLinkedTo_Class_Via_ClassAndAttribute', $sClass, MakeClassHLink($sRemoteClass), MakeClassHLink($sLinkClass), $sExtKeyAttCode));
}
}
$oPage->add("\n");
@@ -133,16 +133,13 @@ function DisplayRelatedClassesBestInClass($oPage, $sClass, $iLevels = 20, &$aVis
*/
function DisplayRelatedClasses($oPage, $sClass)
{
- $oPage->add("Childs
\n");
- DisplaySubclasses($oPage, $sClass);
-
- $oPage->add("Pointed to by...
\n");
+ $oPage->add("".Dict::Format('UI:Schema:Links:1-n', $sClass)."
\n");
DisplayReferencingClasses($oPage, $sClass);
- $oPage->add("Linked to ...
\n");
+ $oPage->add("".Dict::Format('UI:Schema:Links:n-n', $sClass)."
\n");
DisplayLinkingClasses($oPage, $sClass);
- $oPage->add("ZE Graph ...
\n");
+ $oPage->add("".Dict::S('UI:Schema:Links:All')."
\n");
DisplayRelatedClassesBestInClass($oPage, $sClass, 4);
}
@@ -154,14 +151,14 @@ function DisplayLifecycle($oPage, $sClass)
$sStateAttCode = MetaModel::GetStateAttributeCode($sClass);
if (empty($sStateAttCode))
{
- $oPage->p("no lifecycle for this class");
+ $oPage->p(Dict::S('UI:Schema:NoLifeCyle'));
}
else
{
$aStates = MetaModel::EnumStates($sClass);
$aStimuli = MetaModel::EnumStimuli($sClass);
$oPage->add("
\n");
- $oPage->add("Transitions
\n");
+ $oPage->add("".Dict::S('UI:Schema:LifeCycleTransitions')."
\n");
$oPage->add("\n");
foreach ($aStates as $sStateCode => $aStateDef)
{
@@ -187,7 +184,7 @@ function DisplayLifecycle($oPage, $sClass)
}
$oPage->add("
\n");
- $oPage->add("Attribute options
\n");
+ $oPage->add("".Dict::S('UI:Schema:LifeCyleAttributeOptions')."
\n");
$oPage->add("\n");
foreach ($aStates as $sStateCode => $aStateDef)
{
@@ -203,11 +200,11 @@ function DisplayLifecycle($oPage, $sClass)
$sAttLabel = $oAttDef->GetLabel();
$aOptions = array();
- if ($iOptions & OPT_ATT_HIDDEN) $aOptions[] = 'Hidden';
- if ($iOptions & OPT_ATT_READONLY) $aOptions[] = 'Read-only';
- if ($iOptions & OPT_ATT_MANDATORY) $aOptions[] = 'Mandatory';
- if ($iOptions & OPT_ATT_MUSTCHANGE) $aOptions[] = 'Must change';
- if ($iOptions & OPT_ATT_MUSTPROMPT) $aOptions[] = 'Must be proposed for changing';
+ if ($iOptions & OPT_ATT_HIDDEN) $aOptions[] = Dict::S('UI:Schema:LifeCycleHiddenAttribute');
+ if ($iOptions & OPT_ATT_READONLY) $aOptions[] = Dict::S('UI:Schema:LifeCycleReadOnlyAttribute');
+ if ($iOptions & OPT_ATT_MANDATORY) $aOptions[] = Dict::S('UI:Schema:LifeCycleMandatoryAttribute');
+ if ($iOptions & OPT_ATT_MUSTCHANGE) $aOptions[] = Dict::S('UI:Schema:LifeCycleAttributeMustChange');
+ if ($iOptions & OPT_ATT_MUSTPROMPT) $aOptions[] = Dict::S('UI:Schema:LifeCycleAttributeMustPrompt');
if (count($aOptions))
{
$sOptions = implode(', ', $aOptions);
@@ -223,7 +220,7 @@ function DisplayLifecycle($oPage, $sClass)
}
else
{
- $oPage->p("empty list");
+ $oPage->p("".Dict::S('UI:Schema:LifeCycleEmptyList')."");
}
}
$oPage->add("
\n");
@@ -246,7 +243,7 @@ function DisplayTriggers($oPage, $sClass)
*/
function DisplayClassesList($oPage)
{
- $oPage->add("iTop objects schema
\n");
+ $oPage->add("".Dict::S('UI:Schema:Title')."
\n");
$oPage->add("\n");
foreach(MetaModel::EnumCategories() as $sCategory)
@@ -254,7 +251,7 @@ function DisplayClassesList($oPage)
if (empty($sCategory)) continue; // means 'all' -> skip
$sClosed = ($sCategory == 'bizmodel') ? '' : ' class="closed"';
- $oPage->add("- Category $sCategory\n");
+ $oPage->add("
- ".Dict::Format('UI:Schema:CategoryMenuItem', $sCategory)."\n");
$oPage->add("
\n");
foreach(MetaModel::GetClasses($sCategory) as $sClassName)
@@ -277,7 +274,7 @@ function DisplayClassesList($oPage)
$oPage->add("
\n");
- $oPage->add("Relationships
\n");
+ $oPage->add("".Dict::S('UI:Schema:Relationships')."
\n");
$oPage->add("\n");
foreach (MetaModel::EnumRelations() as $sRelCode)
@@ -304,14 +301,14 @@ function DisplayClassDetails($oPage, $sClass)
$oPage->p("$sClass
\n".MetaModel::GetClassDescription($sClass)."
\n");
if (MetaModel::IsAbstract($sClass))
{
- $oPage->p("Abstract class: could not be instantiated");
+ $oPage->p(Dict::S('UI:Schema:AbstractClass'));
}
else
{
- $oPage->p("Not abstract: could be instantiated");
+ $oPage->p(Dict::S('UI:Schema:NonAbstractClass'));
}
- $oPage->p("Class Hierarchy
");
- $oPage->p("[All classes]");
+ $oPage->p("".Dict::S('UI:Schema:ClassHierarchyTitle')."
");
+ $oPage->p("[".Dict::S('UI:Schema:AllClasses')."]");
// List the parent classes
$sParent = MetaModel::GetParentPersistentClass($sClass);
$aParents = array();
@@ -345,7 +342,7 @@ function DisplayClassDetails($oPage, $sClass)
{
if ($oAttDef->IsExternalKey())
{
- $sValue = "External key to ".MakeClassHLink($oAttDef->GetTargetClass());
+ $sValue = Dict::Format('UI:Schema:ExternalKey_To',MakeClassHLink($oAttDef->GetTargetClass()));
}
else
{
@@ -367,9 +364,9 @@ function DisplayClassDetails($oPage, $sClass)
$sCols = implode(', ', $aCols);
$aMoreInfo = array();
- $aMoreInfo[] = "Column(s): $sCols";
- $aMoreInfo[] = "Default: '".$oAttDef->GetDefaultValue()."'";
- $aMoreInfo[] = $oAttDef->IsNullAllowed() ? "Null allowed" : "Null NOT allowed";
+ $aMoreInfo[] = Dict::Format('UI:Schema:Columns_Description', $sCols);
+ $aMoreInfo[] = Dict::Format('UI:Schema:Default_Description', $oAttDef->GetDefaultValue());
+ $aMoreInfo[] = $oAttDef->IsNullAllowed() ? Dict::S('UI:Schema:NullAllowed') : Dict::S('UI:Schema:NullNotAllowed');
$sMoreInfo .= implode(', ', $aMoreInfo);
}
@@ -378,14 +375,14 @@ function DisplayClassDetails($oPage, $sClass)
$aDetails[] = array('code' => $oAttDef->GetCode(), 'type' => $sType, 'origin' => $sOrigin, 'label' => $oAttDef->GetLabel(), 'description' => $sValue, 'values' => $sAllowedValues, 'moreinfo' => $sMoreInfo);
}
- $oPage->SetCurrentTab('Attributes');
- $aConfig = array( 'code' => array('label' => 'Attribute code', 'description' => 'Code of this attribute'),
- 'label' => array('label' => 'Label', 'description' => 'Label of this attribute'),
- 'type' => array('label' => 'Type', 'description' => 'Data type of this attribute'),
- 'origin' => array('label' => 'Origin', 'description' => 'The base class for this attribute'),
- 'description' => array('label' => 'Description', 'description' => 'Description of this attribute'),
- 'values' => array('label' => 'Allowed Values', 'description' => 'Restrictions on the possible values for this attribute'),
- 'moreinfo' => array('label' => 'More info', 'description' => 'More info for the fields related to a Database field'),
+ $oPage->SetCurrentTab(Dict::S('UI:Schema:Attributes'));
+ $aConfig = array( 'code' => array('label' => Dict::S('UI:Schema:AttributeCode'), 'description' => Dict::S('UI:Schema:AttributeCode+')),
+ 'label' => array('label' => Dict::S('UI:Schema:Label'), 'description' => Dict::S('UI:Schema:Label+')),
+ 'type' => array('label' => Dict::S('UI:Schema:Type'), 'description' => Dict::S('UI:Schema:Type+')),
+ 'origin' => array('label' => Dict::S('UI:Schema:Origin'), 'description' => Dict::S('UI:Schema:Origin+')),
+ 'description' => array('label' => Dict::S('UI:Schema:Description'), 'description' => Dict::S('UI:Schema:Description+')),
+ 'values' => array('label' => Dict::S('UI:Schema:AllowedValues'), 'description' => Dict::S('UI:Schema:AllowedValues+')),
+ 'moreinfo' => array('label' => Dict::S('UI:Schema:MoreInfo'), 'description' => Dict::S('UI:Schema:MoreInfo+')),
);
$oPage->table($aConfig, $aDetails);
@@ -401,26 +398,26 @@ function DisplayClassDetails($oPage, $sClass)
}
$aDetails[] = array( 'code' => $sFilterCode, 'description' => $oFilterDef->GetLabel(),'operators' => implode(" / ", $aOpDescs));
}
- $oPage->SetCurrentTab('Search criteria');
- $aConfig = array( 'code' => array('label' => 'Filter code', 'description' => 'Code of this search criteria'),
- 'description' => array('label' => 'Description', 'description' => 'Description of this search criteria'),
- 'operators' => array('label' => 'Available operators', 'description' => 'Possible operators for this search criteria')
+ $oPage->SetCurrentTab(Dict::S('UI:Schema:SearchCriteria'));
+ $aConfig = array( 'code' => array('label' => Dict::S('UI:Schema:FilterCode'), 'description' => Dict::S('UI:Schema:FilterCode+')),
+ 'description' => array('label' => Dict::S('UI:Schema:FilterDescription'), 'description' => Dict::S('UI:Schema:FilterDescription+')),
+ 'operators' => array('label' => Dict::S('UI:Schema:AvailOperators'), 'description' => Dict::S('UI:Schema:AvailOperators+'))
);
$oPage->table($aConfig, $aDetails);
- $oPage->SetCurrentTab('Child classes');
+ $oPage->SetCurrentTab(Dict::S('UI:Schema:ChildClasses'));
DisplaySubclasses($oPage, $sClass);
- $oPage->SetCurrentTab('Referencing classes');
+ $oPage->SetCurrentTab(Dict::S('UI:Schema:ReferencingClasses'));
DisplayReferencingClasses($oPage, $sClass);
- $oPage->SetCurrentTab('Related classes');
+ $oPage->SetCurrentTab(Dict::S('UI:Schema:RelatedClasses'));
DisplayRelatedClasses($oPage, $sClass);
- $oPage->SetCurrentTab('Lifecycle');
+ $oPage->SetCurrentTab(Dict::S('UI:Schema:LifeCycle'));
DisplayLifecycle($oPage, $sClass);
- $oPage->SetCurrentTab('Triggers');
+ $oPage->SetCurrentTab(Dict::S('UI:Schema:Triggers'));
DisplayTriggers($oPage, $sClass);
$oPage->SetCurrentTab();
@@ -436,9 +433,9 @@ function DisplayRelationDetails($oPage, $sRelCode)
$sDesc = MetaModel::GetRelationProperty($sRelCode, 'description');
$sVerbDown = MetaModel::GetRelationProperty($sRelCode, 'verb_down');
$sVerbUp = MetaModel::GetRelationProperty($sRelCode, 'verb_up');
- $oPage->add("Relation $sRelCode ($sDesc)
");
- $oPage->p("Down: $sVerbDown");
- $oPage->p("Up: $sVerbUp");
+ $oPage->add("".Dict::Format('UI:Schema:Relation_Code_Description', $sRelCode, $sDesc)."
");
+ $oPage->p(Dict::Format('UI:Schema:RelationDown_Description', $sVerbDown));
+ $oPage->p(Dict::Format('UI:Schema:RelationUp_Description', $sVerbUp));
$oPage->add("\n");
foreach(MetaModel::GetClasses() as $sClass)
@@ -451,10 +448,15 @@ function DisplayRelationDetails($oPage, $sRelCode)
foreach ($aRelQueries as $sRelKey => $aQuery)
{
$sQuery = $aQuery['sQuery'];
- $bPropagate = $aQuery['bPropagate'] ? "Propagate" : "Do not propagate";
$iDistance = $aQuery['iDistance'];
-
- $oPage->add("- $sRelKey: $bPropagate ($iDistance) ".$sQuery."
\n");
+ if ($aQuery['bPropagate'])
+ {
+ $oPage->add("- ".Dict::Format('UI:Schema:RelationPropagates', $sRelKey, $iDistance, $sQuery)."
\n");
+ }
+ else
+ {
+ $oPage->add("- ".Dict::Format('UI:Schema:RelationDoesNotPropagate', $sRelKey, $iDistance, $sQuery)."
\n");
+ }
}
$oPage->add("
\n");
$oPage->add("
\n");
@@ -474,7 +476,7 @@ $iActiveNodeId = utils::ReadParam('menu', -1);
$currentOrganization = utils::ReadParam('org_id', 1);
$operation = utils::ReadParam('operation', '');
-$oPage = new iTopWebPage("iTop objects schema", $currentOrganization);
+$oPage = new iTopWebPage(Dict::S('UI:Schema:Title'), $currentOrganization);
$oPage->no_cache();
$operation = utils::ReadParam('operation', '');
@@ -491,9 +493,6 @@ switch($operation)
DisplayRelationDetails($oPage, $sRelCode);
break;
- case 'details':
- $oPage->p('operation=details has been deprecated, please use details_class');
- break;
case 'list':
default:
DisplayClassesList($oPage);