\' */ str_replace("\n", '\n', /* LF => \n */ str_replace("\\", "\\\\", /* \ => \\ */ str_replace("\r", '', /* CR => remove */ ($value))))).'\''; if(is_null($value)) return 'null'; return strval($value); } if(count($value) == 0) return '[]'; foreach($value as $id => $v){ if(!isset($is_object) && is_string($id)) $is_object = true; $value[$id] = (isset($is_object) ? '\''.$id.'\' : ' : '').zbx_jsvalue($v); } if(isset($is_object)) return '{'.implode(',',$value).'}'; else return '['.implode(',',$value).']'; } /* function: * zbx_add_post_js * * description: * add JavaScript for calling after page loaging. * * author: Eugene Grigorjev */ function zbx_add_post_js($script){ global $ZBX_PAGE_POST_JS; $ZBX_PAGE_POST_JS[] = $script; } function get_js_sizeable_graph($dom_graph_id,$url){ return new CScript(' '); } function get_dynamic_chart($dom_graph_id,$img_src,$width=0){ if(is_int($width) && $width > 0) $img_src.= url_param($width, false, 'width'); $result = new CScript(' '); return $result; } function inseret_javascript_for_editable_combobox(){ if(defined('EDITABLE_COMBOBOX_SCRIPT_INSERTTED')) return; define('EDITABLE_COMBOBOX_SCRIPT_INSERTTED', 1); $js = 'function CEditableComboBoxInit(obj){ var opt = obj.options; if(obj.value) obj.oldValue = obj.value; for (var i = 0; i < opt.length; i++) if (-1 == opt.item(i).value) return; opt = document.createElement("option"); opt.value = -1; opt.text = "(other ...)"; if(!obj.options.add) obj.insertBefore(opt, obj.options.item(0)); else obj.options.add(opt, 0); return; } function CEditableComboBoxOnChange(obj,size){ if(-1 != obj.value){ obj.oldValue = obj.value; } else{ var new_obj = document.createElement("input"); new_obj.type = "text"; new_obj.name = obj.name; if(size && size > 0){ new_obj.size = size; } new_obj.className = obj.className; if(obj.oldValue) new_obj.value = obj.oldValue; obj.parentNode.replaceChild(new_obj, obj); new_obj.focus(); new_obj.select(); } }'; insert_js($js); } function insert_showhint_javascript(){ global $page; if(defined('SHOW_HINT_SCRIPT_INSERTTED') || (PAGE_TYPE_HTML != $page['type'])) return; define('SHOW_HINT_SCRIPT_INSERTTED', 1); echo ''; } function redirect($url,$timeout=null){ zbx_flush_post_cookies(); if( is_numeric($timeout) ) { $script.='setTimeout(\'window.location="'.$url.'"\','.($timeout*1000).')'; } else { $script.='window.location = "'.$url.'";'; } insert_js($script); } function simple_js_redirect($url,$timeout=null){ $script = ''; if( is_numeric($timeout) ) { $script.='setTimeout(\'window.location="'.$url.'"\','.($timeout*1000).')'; } else { $script.='window.location = "'.$url.'";'; } insert_js($script); } function play_sound($filename){ insert_js(' if (IE){ document.writeln(\'\'); } else{ document.writeln(\'\'); document.writeln(\'<bgsound src="'.$filename.'" loop="0" />\'); }'); } function setFocus($frm_name, $fld_name){ insert_js('document.forms["'.$frm_name.'"].elements["'.$fld_name.'"].focus();'); } function alert($msg){ insert_js('alert("'.$msg.'");'); } function insert_js_function($fnct_name){ switch($fnct_name){ case 'add_item_variable': insert_js('function add_item_variable(s_formname,x_value){ if(add_variable(null, "itemid[]", x_value, s_formname, window.opener.document)){ var o_form; if( !(o_form = window.opener.document.forms[s_formname]) ) throw "Missed form with name ["+s_formname+"]."; var element = o_form.elements["itemid"]; if(element) element.name = "itemid[]"; o_form.submit(); } close_window(); return true; }'); break; case 'add_media': insert_js('function add_media(formname,media,mediatypeid,sendto,period,active,severity){ var form = window.opener.document.forms[formname]; var media_name = (media > -1)?"user_medias["+media+"]":"new_media"; if(!form){ close_window(); return false; } window.opener.create_var(form,media_name+"[mediatypeid]",mediatypeid); window.opener.create_var(form,media_name+"[sendto]",sendto); window.opener.create_var(form,media_name+"[period]",period); window.opener.create_var(form,media_name+"[active]",active); window.opener.create_var(form,media_name+"[severity]",severity); form.submit(); close_window(); return true; }'); break; case 'add_graph_item': insert_js('function add_graph_item(formname,itemid,color,drawtype,sortorder,yaxisside,calc_fnc,type,periods_cnt){ var form = window.opener.document.forms[formname]; if(!form){ close_window(); return false; } window.opener.create_var(form,"new_graph_item[itemid]",itemid); window.opener.create_var(form,"new_graph_item[color]",color); window.opener.create_var(form,"new_graph_item[drawtype]",drawtype); window.opener.create_var(form,"new_graph_item[sortorder]",sortorder); window.opener.create_var(form,"new_graph_item[yaxisside]",yaxisside); window.opener.create_var(form,"new_graph_item[calc_fnc]",calc_fnc); window.opener.create_var(form,"new_graph_item[type]",type); window.opener.create_var(form,"new_graph_item[periods_cnt]",periods_cnt); form.submit(); close_window(); return true; }'); break; case 'update_graph_item': insert_js('function update_graph_item(formname,list_name,gid,itemid,color,drawtype,sortorder,yaxisside,calc_fnc,type,periods_cnt){ var form = window.opener.document.forms[formname]; if(!form){ close_window(); return false; } window.opener.create_var(form,list_name + "[" + gid + "][itemid]",itemid); window.opener.create_var(form,list_name + "[" + gid + "][color]",color); window.opener.create_var(form,list_name + "[" + gid + "][drawtype]",drawtype); window.opener.create_var(form,list_name + "[" + gid + "][sortorder]",sortorder); window.opener.create_var(form,list_name + "[" + gid + "][yaxisside]",yaxisside); window.opener.create_var(form,list_name + "[" + gid + "][calc_fnc]",calc_fnc); window.opener.create_var(form,list_name + "[" + gid + "][type]",type); window.opener.create_var(form,list_name + "[" + gid + "][periods_cnt]",periods_cnt); form.submit(); close_window(); return true; }'); break; default: break; } }; function insert_js($script){ print(''); } ?>