- Implementation of the localization... on going...

SVN:trunk[400]
This commit is contained in:
Denis Flaven
2010-05-04 17:14:44 +00:00
parent cfc69316d1
commit a28823141d
3 changed files with 172 additions and 55 deletions

View File

@@ -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 <b>%1$s</b>',
'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: <em>%1$s</em>',
'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 <em>%1$s</em> (%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::<em>%4$s</em>',
'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',
));

View File

@@ -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 <b>%1$s</b>',
'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: <em>%1$s</em>',
'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 <em>%1$s</em> (%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::<em>%4$s</em>',
'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',
));
?>

View File

@@ -61,7 +61,7 @@ function DisplayReferencingClasses($oPage, $sClass)
{
foreach ($aRemoteKeys as $sExtKeyAttCode => $oExtKeyAttDef)
{
$oPage->add("<li>".MakeClassHLink($sRemoteClass)." by <em>$sExtKeyAttCode</em></li>\n");
$oPage->add("<li>".Dict::Format('UI:Schema:Class_ReferencingClasses_From_By', $sClass, MakeClassHLink($sRemoteClass), $sExtKeyAttCode)."</li>\n");
}
}
$oPage->add("</ul>\n");
@@ -82,7 +82,7 @@ function DisplayLinkingClasses($oPage, $sClass)
{
foreach($aRemoteClasses as $sExtKeyAttCode => $sRemoteClass)
{
$oPage->add("<li>".MakeClassHLink($sRemoteClass)." by <em>".MakeClassHLink($sLinkClass)."::$sExtKeyAttCode</em></li>\n");
$oPage->add("<li>".Dict::Format('UI:Schema:Class_IsLinkedTo_Class_Via_ClassAndAttribute', $sClass, MakeClassHLink($sRemoteClass), MakeClassHLink($sLinkClass), $sExtKeyAttCode));
}
}
$oPage->add("</ul>\n");
@@ -133,16 +133,13 @@ function DisplayRelatedClassesBestInClass($oPage, $sClass, $iLevels = 20, &$aVis
*/
function DisplayRelatedClasses($oPage, $sClass)
{
$oPage->add("<h3>Childs</h3>\n");
DisplaySubclasses($oPage, $sClass);
$oPage->add("<h3>Pointed to by...</h3>\n");
$oPage->add("<h3>".Dict::Format('UI:Schema:Links:1-n', $sClass)."</h3>\n");
DisplayReferencingClasses($oPage, $sClass);
$oPage->add("<h3>Linked to ...</h3>\n");
$oPage->add("<h3>".Dict::Format('UI:Schema:Links:n-n', $sClass)."</h3>\n");
DisplayLinkingClasses($oPage, $sClass);
$oPage->add("<h3>ZE Graph ...</h3>\n");
$oPage->add("<h3>".Dict::S('UI:Schema:Links:All')."</h3>\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("<img src=\"../pages/graphviz.php?class=$sClass\">\n");
$oPage->add("<h3>Transitions</h3>\n");
$oPage->add("<h3>".Dict::S('UI:Schema:LifeCycleTransitions')."</h3>\n");
$oPage->add("<ul>\n");
foreach ($aStates as $sStateCode => $aStateDef)
{
@@ -187,7 +184,7 @@ function DisplayLifecycle($oPage, $sClass)
}
$oPage->add("</ul>\n");
$oPage->add("<h3>Attribute options</h3>\n");
$oPage->add("<h3>".Dict::S('UI:Schema:LifeCyleAttributeOptions')."</h3>\n");
$oPage->add("<ul>\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("<em>empty list</em>");
$oPage->p("<em>".Dict::S('UI:Schema:LifeCycleEmptyList')."</em>");
}
}
$oPage->add("</ul>\n");
@@ -246,7 +243,7 @@ function DisplayTriggers($oPage, $sClass)
*/
function DisplayClassesList($oPage)
{
$oPage->add("<h1>iTop objects schema</h1>\n");
$oPage->add("<h1>".Dict::S('UI:Schema:Title')."</h1>\n");
$oPage->add("<ul id=\"ClassesList\" class=\"treeview fileview\">\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("<li$sClosed>Category <b>$sCategory</b>\n");
$oPage->add("<li$sClosed>".Dict::Format('UI:Schema:CategoryMenuItem', $sCategory)."\n");
$oPage->add("<ul>\n");
foreach(MetaModel::GetClasses($sCategory) as $sClassName)
@@ -277,7 +274,7 @@ function DisplayClassesList($oPage)
$oPage->add("</ul>\n");
$oPage->add("<h1>Relationships</h1>\n");
$oPage->add("<h1>".Dict::S('UI:Schema:Relationships')."</h1>\n");
$oPage->add("<ul id=\"ClassesRelationships\" class=\"treeview\">\n");
foreach (MetaModel::EnumRelations() as $sRelCode)
@@ -304,14 +301,14 @@ function DisplayClassDetails($oPage, $sClass)
$oPage->p("<h2>$sClass</h2><br/>\n".MetaModel::GetClassDescription($sClass)."<br/>\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("<h3>Class Hierarchy</h3>");
$oPage->p("[<a href=\"?operation='list'\">All classes</a>]");
$oPage->p("<h3>".Dict::S('UI:Schema:ClassHierarchyTitle')."</h3>");
$oPage->p("[<a href=\"?operation='list'\">".Dict::S('UI:Schema:AllClasses')."</a>]");
// 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): <em>$sCols</em>";
$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("<h1>Relation <em>$sRelCode</em> ($sDesc)</h1>");
$oPage->p("Down: $sVerbDown");
$oPage->p("Up: $sVerbUp");
$oPage->add("<h1>".Dict::Format('UI:Schema:Relation_Code_Description', $sRelCode, $sDesc)."</h1>");
$oPage->p(Dict::Format('UI:Schema:RelationDown_Description', $sVerbDown));
$oPage->p(Dict::Format('UI:Schema:RelationUp_Description', $sVerbUp));
$oPage->add("<ul id=\"RelationshipDetails\" class=\"treeview\">\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("<li>$sRelKey: $bPropagate ($iDistance) ".$sQuery."</li>\n");
if ($aQuery['bPropagate'])
{
$oPage->add("<li>".Dict::Format('UI:Schema:RelationPropagates', $sRelKey, $iDistance, $sQuery)."</li>\n");
}
else
{
$oPage->add("<li>".Dict::Format('UI:Schema:RelationDoesNotPropagate', $sRelKey, $iDistance, $sQuery)."</li>\n");
}
}
$oPage->add("</ul>\n");
$oPage->add("</li>\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);