diff --git a/application/cmdbabstract.class.inc.php b/application/cmdbabstract.class.inc.php index 63836b475..161a03a6d 100644 --- a/application/cmdbabstract.class.inc.php +++ b/application/cmdbabstract.class.inc.php @@ -398,11 +398,10 @@ EOF 'style="vertical-align:middle"')." $sLink
"; $sTip .= Dict::S('Core:Synchro:LastSynchro').'
'.$sLastSynchro."

"; } + $sTip = utils::HtmlEntities($sTip); $sLabel = htmlentities(Dict::S('Tag:Synchronized'), ENT_QUOTES, 'UTF-8'); $sSynchroTagId = 'synchro_icon-'.$this->GetKey(); - $aIcons[] = "
  $sLabel
"; - $sTip = addslashes($sTip); - $oPage->add_ready_script("$('#$sSynchroTagId').qtip( { content: '$sTip', show: 'mouseover', hide: { fixed: true }, style: { name: 'dark', tip: 'topLeft' }, position: { corner: { target: 'bottomMiddle', tooltip: 'topLeft' }} } );"); + $aIcons[] = '
'.$sLabel.'
'; } } @@ -876,7 +875,6 @@ EOF if ($iFlags & OPT_ATT_SLAVE) { $aReasons = array(); $this->GetSynchroReplicaFlags($sAttCode, $aReasons); - $sSynchroIcon = " "; $sTip = ''; foreach ($aReasons as $aRow) { $sDescription = htmlentities($aRow['description'], ENT_QUOTES, @@ -887,8 +885,8 @@ EOF $sTip .= "
Synchronized with {$aRow['name']}
"; $sTip .= "
$sDescription
"; } - $sTip = addslashes($sTip); - $oPage->add_ready_script("$('#synchro_$sInputId').qtip( { content: '$sTip', show: 'mouseover', hide: 'mouseout', style: { name: 'dark', tip: 'leftTop' }, position: { corner: { target: 'rightMiddle', tooltip: 'leftTop' }} } );"); + $sTip = utils::HtmlEntities($sTip); + $sSynchroIcon = ''; $sComments = $sSynchroIcon; } @@ -2339,37 +2337,37 @@ EOF } else { - $sHTMLValue = "
{$sValidationSpan}{$sReloadSpan}"; - $aEventsList[] = 'keyup'; - $aEventsList[] = 'change'; - + $sTip = ''; // Adding tooltip so we can read the whole value when its very long (eg. URL) if (!empty($sDisplayValue)) { + $sTip = ' data-tooltip-content="'.utils::HtmlEntities($sDisplayValue).'"'; $oPage->add_ready_script( <<').text($('#{$iId}').val()).html(); - $('#{$iId}').qtip( { content: sEscapedVal, show: 'mouseover', hide: 'mouseout', style: { name: 'dark', tip: 'bottomLeft' }, position: { corner: { target: 'topLeft', tooltip: 'bottomLeft' }, adjust: { y: -15}} } ); - $('#{$iId}').bind('keyup', function(evt, sFormId){ - var oQTipAPI = $(this).qtip('api'); + var sVal = $('#{$iId}').val(); + var oTippy = this._tippy; - if($(this).val() === '') + if(sVal === '') { - oQTipAPI.hide(); - oQTipAPI.disable(true); + oTippy.hide(); + oTippy.disable(); } else { - oQTipAPI.disable(false); + oTippy.enable(); } - var sEscapedVal = $('
').text($(this).val()).html(); - oQTipAPI.updateContent(sEscapedVal); + oTippy.setContent(sVal); }); EOF ); } + + $sHTMLValue = '
'.$sValidationSpan.$sReloadSpan; + $aEventsList[] = 'keyup'; + $aEventsList[] = 'change'; + } break; } @@ -4517,12 +4515,11 @@ HTML if ($oAttDef->GetEditClass() == 'One Way Password') { - $sTip = "Unknown values"; - $sReadyScript .= "$('#multi_values_$sAttCode').qtip( { content: '$sTip', show: 'mouseover', hide: 'mouseout', style: { name: 'dark', tip: 'leftTop' }, position: { corner: { target: 'rightMiddle', tooltip: 'leftTop' }} } );"; + $sTip = Dict::S('UI:Component:Field:BulkModify:UnknownValues:Tooltip'); $oDummyObj->Set($sAttCode, null); $aComments[$sAttCode] = ''; - $aComments[$sAttCode] .= '
?
'; + $aComments[$sAttCode] .= '
?
'; $sReadyScript .= 'ToggleField(false, \''.$iFormId.'_'.$sAttCode.'\');'."\n"; } else diff --git a/dictionaries/ui/components/en.dictionary.itop.field.php b/dictionaries/ui/components/en.dictionary.itop.field.php new file mode 100644 index 000000000..48ec9e493 --- /dev/null +++ b/dictionaries/ui/components/en.dictionary.itop.field.php @@ -0,0 +1,23 @@ + 'Unknown values', +)); \ No newline at end of file diff --git a/pages/UI.php b/pages/UI.php index 42f8cbcec..b8c6ea8aa 100644 --- a/pages/UI.php +++ b/pages/UI.php @@ -1440,9 +1440,8 @@ HTML } } $sTip .= "

"; - $sTip = addslashes($sTip); - $sReadyScript .= "$('#multi_values_$sFieldInputId').qtip( { content: '$sTip', show: 'mouseover', hide: 'mouseout', style: { name: 'dark', tip: 'leftTop' }, position: { corner: { target: 'rightMiddle', tooltip: 'leftTop' }} } );\n"; - $sComments .= '
'.count($aValues[$sAttCode]).'
'; + $sTip = utils::HtmlEntities($sTip); + $sComments .= '
'.count($aValues[$sAttCode]).'
'; } $aDetails[] = array('label' => ''.$oAttDef->GetLabel().'', 'value' => "$sHTMLValue", 'comments' => $sComments); $aFieldsMap[$sAttCode] = $sFieldInputId; diff --git a/pages/schema.php b/pages/schema.php index 99a1e2ba7..d2c47c705 100644 --- a/pages/schema.php +++ b/pages/schema.php @@ -873,7 +873,7 @@ function DisplayClassDetails($oPage, $sClass, $sContext) $aOrigins[$sOrigin] = true; $sAllowedValues = ""; $sMoreInfo = ""; - $sDefaultNullValue = '""'; + $sDefaultNullValue = ''; $aCols = array(); foreach ($oAttDef->GetSQLColumns() as $sCol => $sFieldDesc) { @@ -891,8 +891,8 @@ function DisplayClassDetails($oPage, $sClass, $sContext) { $sDefaultNullValue = json_encode($sDefaultNullValue); } - $sDefaultNullValue = (!is_null($sDefaultNullValue) ? json_encode(Dict::Format('UI:Schema:DefaultNullValue', - $sDefaultNullValue)) : '""'); + $sDefaultNullValue = (!is_null($sDefaultNullValue) ? Dict::Format('UI:Schema:DefaultNullValue', + $sDefaultNullValue) : ''); } else { @@ -927,47 +927,27 @@ function DisplayClassDetails($oPage, $sClass, $sContext) elseif (is_object($oAllowedValuesDef = $oAttDef->GetValuesDef())) { $sAllowedValues = str_replace("Filter: ", "", $oAllowedValuesDef->GetValuesDescription()); - $sAllowedValuesEscpd = json_encode($sAllowedValues); + $sAllowedValuesEscpd = utils::HtmlEntities($sAllowedValues); $sFilterURL = urlencode($sAllowedValues); - $sAllowedValues = "".Dict::S('UI:Schema:Attribute/Filter').""; + $sAllowedValues = ''.Dict::S('UI:Schema:Attribute/Filter').""; } else { $sAllowedValues = ''; } - $sAttrValueEscpd = json_encode($sValue); - $sAttrTypeDescEscpd = json_encode($sTypeDesc); - $sAttrOriginEscpd = json_encode($sOrigin); + $sAttrValueEscpd = utils::HtmlEntities($sValue); + $sAttrTypeDescEscpd = utils::HtmlEntities($sTypeDesc); + $sAttrOriginEscpd = utils::HtmlEntities($sOrigin); + $sDefaultNullValueEscpd = utils::HtmlEntities($sDefaultNullValue); $aDetails[] = array( - 'code' => "".$oAttDef->GetLabel()." (".$oAttDef->GetCode().")", - 'type' => "".$sTypeDict." (".$sType.")", - 'origincolor' => "", + 'code' => ''.$oAttDef->GetLabel().' ('.$oAttDef->GetCode().')', + 'type' => ''.$sTypeDict.' ('.$sType.')', + 'origincolor' => '', 'origin' => "$sOrigin", 'values' => $sAllowedValues, - 'moreinfo' => " $sMoreInfo", - ); - //tooltip construction - $oPage->add_ready_script( - << ''.$sMoreInfo.'', ); } @@ -1136,10 +1116,10 @@ EOF ); $oPage->add("
"); -$oPage->add("
"); +$oPage->add("
"); DisplayClassesList($oPage, $sContext); $oPage->add("
"); -$oPage->add("
"); +$oPage->add("
"); switch ($operation) { @@ -1178,21 +1158,21 @@ JS } $oPage->add("
"); $oPage->add("
"); -//split the page in 2 panels -$oPage->add_init_script( - <<add_init_script( +// <<output(); ?>