19 foreach ($menuarray as $plmenu) {
21 foreach ($plmenu as $menuitem) {
23 if (!file_exists(
$base.$menuitem[
'image']) or !$menuitem[
'image']){
24 $menuitem[
'image'] =
'/images/silk/plugin.png';
27 if (!$menuitem[
'tooltip']){
28 $menuitem[
'tooltip'] = $menuitem[
'menutitle'];
32 if (
auth($menuitem[
'authname'],3) || !$menuitem[
'authname']) {
36 onMouseOver=
"this.className='hovered';" 37 onMouseOut=
"this.className='row';" 38 onClick=
"ona_menu_closedown(); {$menuitem['commandjs']};" 39 title=
"{$menuitem['tooltip']}" 40 ><img style=
"vertical-align: middle;" src=
"{$baseURL}{$menuitem['image']}" border=
"0" 41 />&
nbsp;{$menuitem[
'menutitle']}</div>
67 $plugin_paths = array(
$base.
"/local/plugins/",
$base.
"/plugins/");
68 foreach ($plugin_paths as $plugin_path) {
69 if ($dh = @opendir($plugin_path)) {
70 while (
false !== ($plugin = readdir($dh))) {
71 if ($plugin ==
'.' || $plugin ==
'..' || $plugin ==
'tmp' || $plugin ==
'.svn'|| substr($plugin, -7) ==
'.tar.gz')
continue;
72 if (is_file($plugin_path.$plugin))
continue;
74 if (
$type==
'' || @file_exists($plugin_path.
"$plugin/$type.inc.php") and @!file_exists($plugin_path.
"$plugin/plugin_disabled")){
75 $plugins[$i][
'name'] = $plugin;
78 $plugins[$i][
'path'] = $plugin_path.
"$plugin";
80 $plugins[$i][
'path'] = $plugin_path.
"$plugin/$type.inc.php";
104 global $ONA_PLUGINS,
$base;
108 if($ONA_PLUGINS[
$type][$name] !=
null){
109 return $ONA_PLUGINS[
$type][$name];
112 $plugin_paths = array(
$base.
"/local/plugins/",
$base.
"/plugins/");
113 foreach ($plugin_paths as $plugin_path) {
115 if (!file_exists($plugin_path.
"$name/plugin_disabled")){
116 if (file_exists($plugin_path.
"$name/$type.inc.php")){
117 include_once($plugin_path.
"$name/$type.inc.php");
124 $class =
$type.
'_plugin_'.$name;
125 if (!class_exists($class))
return null;
127 $ONA_PLUGINS[
$type][$name] =
new $class;
128 return $ONA_PLUGINS[
$type][$name];
146 $ws_plugin_dir =
"{$base}/workspace_plugins";
148 $max_img =
"{$images}/silk/bullet_arrow_down.png";
149 $min_img =
"{$images}/silk/bullet_arrow_up.png";
158 if (is_file($modulename)) { require($modulename); }
159 else if (is_dir(
"{$ws_plugin_dir}/{$modulename}")) {
160 $mod_conf=
"{$ws_plugin_dir}/{$modulename}/config.inc.php";
162 $mod_main=
"{$ws_plugin_dir}/{$modulename}/main.inc.php";
163 if (file_exists($mod_main)) { require($mod_main); }
165 else if (is_dir(
"{$ws_plugin_dir}/builtin/{$modulename}")) {
166 $mod_conf=
"{$ws_plugin_dir}/builtin/{$modulename}/config.inc.php";
168 $mod_main=
"{$ws_plugin_dir}/builtin/{$modulename}/main.inc.php";
169 if (file_exists($mod_main)) { require($mod_main); }
172 $mod_main=
"{$base}/include/unknown_module_msg.inc.php";
173 if (file_exists($mod_main)) { require($mod_main); }
197 <!-- {$modulename} start -->
198 <div
id=
"{$modulename}_container" class=
"ws_plugin_content">
199 <table cellspacing=
"0" border=
"0" cellpadding=
"0" style=
"margin-bottom: 8px;">
201 <td
class=
"ws_plugin_title_right" title=
"{$title_description}">{
$title_left_html}</td>
202 <td
class=
"ws_plugin_title_left">
204 <img src=
"{$min_img}" 205 id=
"{$modulename}_dropdown" 207 onclick=
"if (el('{$modulename}_content').style.display=='none') { el('{$modulename}_content').style.display=''; el('{$modulename}_dropdown').src='{$min_img}'; } 208 else { el('{$modulename}_content').style.display='none'; el('{$modulename}_dropdown').src='{$max_img}';}" 212 <tr><td colspan=
"99" id=
"{$modulename}_content">
225 <!-- {$modulename} end -->
264 if (
$status or !$rows) {
return(0); }
265 if (strlen($subnet[
'ip_addr']) > 11) {
266 $sub = gmp_sub(
"340282366920938463463374607431768211455", $subnet[
'ip_mask']);
267 $subnet[
'size'] = gmp_strval(gmp_sub($sub,1));
269 $subnet[
'size'] = (0xffffffff -
ip_mangle($subnet[
'ip_mask'],
'numeric')) - 1;
270 if ($subnet[
'ip_mask'] == 4294967295) $subnet[
'size'] = 1;
271 if ($subnet[
'ip_mask'] == 4294967294) $subnet[
'size'] = 2;
278 foreach ($pools as $pool) {
279 $pool_size += ($pool[
'ip_addr_end'] - $pool[
'ip_addr_start'] + 1);
281 $total_used = $hosts + $pool_size;
283 if ($subnet[
'size']) $percentage = sprintf(
'%d', ($total_used / $subnet[
'size']) * 100);
284 return(array($percentage, $total_used, $subnet[
'size']));
298 if (strpos($_SERVER[
'HTTP_USER_AGENT'],
'MSIE') !=
false)
299 $css =
"font-size: " . ($height - 2) .
"px;";
301 <div style=
"white-space: nowrap; width: 100%; text-align: left; padding-top: 2px; padding-bottom: 2px; vertical-align: middle; font-size: 8px;">
302 <div title=
"{$usage}% used" style=
"{$css} float: left; width: {$width}px; height: {$height}px; text-align: left; vertical-align: middle; background-color: #ABFFBC; border: 1px solid #000;">
303 <div style=
"{$css} width: {$usage}%; height: {$height}px; vertical-align: middle; background-color: #FF3939;"></div>
305 <span style=
"font-size: 8px;">&
nbsp;{$used} / {$total}</span>
321 if (!
$conf[
'dns_views']) $limit_to_view =
'dns_view_id = 0 AND ';
328 $where =
"{$limit_to_view} {$field} LIKE " .
$onadb->qstr($q);
329 $order =
"{$field} ASC";
341 if (
$status) { $results[] =
"Internal Error: {$self['error']}"; }
343 foreach ($records as
$record) {
349 if (
$conf[
'dns_views']) {
351 $viewname = $view[
'name'].
'/';
353 $results[] = $viewname.$record[$field].
".".$domain[
'name'];
366 if (!
$conf[
'dns_views']) $limit_to_view =
'dns_view_id = 0 AND ';
373 $where =
"{$limit_to_view} type LIKE 'A' and {$field} LIKE " .
$onadb->qstr($q);
374 $order =
"{$field} ASC";
386 if (
$status) { $results[] =
"Internal Error: {$self['error']}"; }
388 foreach ($records as
$record) {
390 $results[] =
$record[$field].
".".$domain[
'name'];
411 $where =
"{$field} LIKE " .
$onadb->qstr($q);
412 $order =
"{$field} ASC";
424 if (
$status) { $results[] =
"Internal Error: {$self['error']}"; }
426 foreach ($records as
$record) {
434 foreach ($precords as $precord) {
464 $formatted = $results = array();
469 $q = preg_replace(
'/\%3A/',
'', $q);
470 $q = preg_replace(
'/[\:\.\-]/',
'', $q);
473 foreach($results as $result) $formatted[] =
mac_mangle($result, 2);
481 $formatted = $results = array();
490 if (
$ip == -1 or $ip_end == -1) {
return(array()); }
495 $where =
"{$field} >= " .
$onadb->qstr(
$ip) .
" AND {$field} <= " .
$onadb->qstr($ip_end);
496 $order =
"{$field} ASC";
503 $max_results -= count($results);
505 $table =
'interfaces';
513 foreach($results as $result) {
515 $format = ( is_ipv4($result) ?
'dotted' :
'ipv6' );
516 $formatted[] =
ip_mangle($result, $format);
519 unset($results, $result, $records,
$record);
587 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
591 if (strpos($q,
'/') === 0) {
592 $js .=
"suggestions = Array('Enter a command...');";
593 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
594 $response->addScript($js);
595 return($response->getXML());
599 if (count($results) <
$conf[
'suggest_max_results']) {
601 foreach($array as $suggestion) { $results[] = $suggestion; }
602 $results = array_unique($results);
606 if (count($results) <
$conf[
'suggest_max_results']) {
608 foreach($array as $suggestion) { $results[] = $suggestion; }
609 $results = array_unique($results);
613 if (count($results) <
$conf[
'suggest_max_results']) {
615 foreach($array as $suggestion) { $results[] = $suggestion; }
616 $results = array_unique($results);
620 if (count($results) <
$conf[
'suggest_max_results']) {
622 foreach($array as $suggestion) { $results[] = $suggestion; }
623 $results = array_unique($results);
627 if (count($results) <
$conf[
'suggest_max_results']) {
629 foreach($array as $suggestion) { $results[] = $suggestion; }
630 $results = array_unique($results);
642 if (count($results) <
$conf[
'suggest_max_results']) {
644 foreach($array as $suggestion) { $results[] = $suggestion; }
645 $results = array_unique($results);
649 if (count($results) <
$conf[
'suggest_max_results']) {
651 foreach($array as $suggestion) { $results[] = $suggestion; }
652 $results = array_unique($results);
657 $js .=
"suggestions = Array(";
659 foreach ($results as $suggestion) {
660 $suggestion = str_replace(
"'",
"\\'", $suggestion);
661 $js .= $comma .
"'{$suggestion}'";
662 if (!$comma) { $comma =
", "; }
667 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
668 $response->addScript($js);
669 return($response->getXML());
682 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
688 $results = array_unique($results);
691 $js .=
"suggestions = Array(";
693 foreach ($results as $suggestion) {
694 $suggestion = str_replace(
"'",
"\\'", $suggestion);
695 $js .= $comma .
"'{$suggestion}'";
696 if (!$comma) { $comma =
", "; }
701 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
702 $response->addScript($js);
703 return($response->getXML());
719 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
725 $results = array_unique($results);
728 $js .=
"suggestions = Array(";
730 foreach ($results as $suggestion) {
731 $suggestion = str_replace(
"'",
"\\'", $suggestion);
732 $js .= $comma .
"'{$suggestion}'";
733 if (!$comma) { $comma =
", "; }
738 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
739 $response->addScript($js);
740 return($response->getXML());
784 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
790 $results = array_unique($results);
795 $js .=
"suggestions = Array(";
797 foreach ($results as $suggestion) {
798 $suggestion = str_replace(
"'",
"\\'", $suggestion);
799 $js .= $comma .
"'{$suggestion}'";
800 if (!$comma) { $comma =
", "; }
805 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
806 $response->addScript($js);
807 return($response->getXML());
833 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
839 $results = array_unique($results);
842 $js .=
"suggestions = Array(";
844 foreach ($results as $suggestion) {
845 $suggestion = str_replace(
"'",
"\\'", $suggestion);
846 $js .= $comma .
"'{$suggestion}'";
847 if (!$comma) { $comma =
", "; }
852 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
853 $response->addScript($js);
854 return($response->getXML());
886 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
892 $results = array_unique($results);
895 $js .=
"suggestions = Array(";
897 foreach ($results as $suggestion) {
898 $suggestion = str_replace(
"'",
"\\'", $suggestion);
899 $js .= $comma .
"'{$suggestion}'";
900 if (!$comma) { $comma =
", "; }
905 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
906 $response->addScript($js);
907 return($response->getXML());
924 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
930 $results = array_unique($results);
933 $js .=
"suggestions = Array(";
935 foreach ($results as $suggestion) {
936 $suggestion = str_replace(
"'",
"\\'", $suggestion);
937 $js .= $comma .
"'{$suggestion}'";
938 if (!$comma) { $comma =
", "; }
943 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
944 $response->addScript($js);
945 return($response->getXML());
965 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
972 $js .=
"suggestions = Array(";
974 foreach ($results as $suggestion) {
975 $suggestion = str_replace(
"'",
"\\'", $suggestion);
976 $js .= $comma .
"'{$suggestion}'";
977 if (!$comma) { $comma =
", "; }
982 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
983 $response->addScript($js);
984 return($response->getXML());
988 return(
suggest_ip($q, $el_input, $el_suggest));
991 return(
suggest_ip($q, $el_input, $el_suggest));
994 return(
suggest_ip($q, $el_input, $el_suggest));
997 return(
suggest_ip($q, $el_input, $el_suggest));
1000 return(
suggest_ip($q, $el_input, $el_suggest));
1003 return(
suggest_ip($q, $el_input, $el_suggest));
1006 return(
suggest_ip($q, $el_input, $el_suggest));
1009 return(
suggest_ip($q, $el_input, $el_suggest));
1012 return(
suggest_ip($q, $el_input, $el_suggest));
1015 return(
suggest_ip($q, $el_input, $el_suggest));
1028 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
1034 $results = array_unique($results);
1037 $js .=
"suggestions = Array(";
1039 foreach ($results as $suggestion) {
1040 $suggestion = str_replace(
"'",
"\\'", $suggestion);
1041 $js .= $comma .
"'{$suggestion}'";
1042 if (!$comma) { $comma =
", "; }
1047 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
1048 $response->addScript($js);
1049 return($response->getXML());
1068 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
1074 $results = array_unique($results);
1077 $js .=
"suggestions = Array(";
1079 foreach ($results as $suggestion) {
1080 $suggestion = str_replace(
"'",
"\\'", $suggestion);
1081 $js .= $comma .
"'{$suggestion}'";
1082 if (!$comma) { $comma =
", "; }
1087 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
1088 $response->addScript($js);
1089 return($response->getXML());
1105 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
1111 $results = array_unique($results);
1114 $js .=
"suggestions = Array(";
1116 foreach ($results as $suggestion) {
1117 $suggestion = str_replace(
"'",
"\\'", $suggestion);
1118 $js .= $comma .
"'{$suggestion}'";
1119 if (!$comma) { $comma =
", "; }
1124 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
1125 $response->addScript($js);
1126 return($response->getXML());
1139 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
1145 $results = array_unique($results);
1148 $js .=
"suggestions = Array(";
1150 foreach ($results as $suggestion) {
1151 $suggestion = str_replace(
"'",
"\\'", $suggestion);
1152 $js .= $comma .
"'{$suggestion}'";
1153 if (!$comma) { $comma =
", "; }
1158 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
1159 $response->addScript($js);
1160 return($response->getXML());
1173 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
1179 $results = array_unique($results);
1182 $js .=
"suggestions = Array(";
1184 foreach ($results as $suggestion) {
1185 $suggestion = str_replace(
"'",
"\\'", $suggestion);
1186 $js .= $comma .
"'{$suggestion}'";
1187 if (!$comma) { $comma =
", "; }
1192 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
1193 $response->addScript($js);
1194 return($response->getXML());
1216 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
1222 $results = array_unique($results);
1225 $js .=
"suggestions = Array(";
1227 foreach ($results as $suggestion) {
1228 $suggestion = str_replace(
"'",
"\\'", $suggestion);
1229 $js .= $comma .
"'{$suggestion}'";
1230 if (!$comma) { $comma =
", "; }
1235 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
1236 $response->addScript($js);
1237 return($response->getXML());
1250 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
1256 $results = array_unique($results);
1259 $js .=
"suggestions = Array(";
1261 foreach ($results as $suggestion) {
1262 $suggestion = str_replace(
"'",
"\\'", $suggestion);
1263 $js .= $comma .
"'{$suggestion}'";
1264 if (!$comma) { $comma =
", "; }
1269 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
1270 $response->addScript($js);
1271 return($response->getXML());
1289 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
1295 $results = array_unique($results);
1298 $js .=
"suggestions = Array(";
1300 foreach ($results as $suggestion) {
1301 $suggestion = str_replace(
"'",
"\\'", $suggestion);
1302 $js .= $comma .
"'{$suggestion}'";
1303 if (!$comma) { $comma =
", "; }
1308 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
1309 $response->addScript($js);
1310 return($response->getXML());
1337 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
1343 $hasslash = strpos($q,
'/');
1344 if ($hasslash === FALSE) {
1422 $results = preg_grep(
"%{$q}%",$results);
1425 $js .=
"suggestions = Array(";
1427 foreach ($results as $suggestion) {
1428 $suggestion = str_replace(
"'",
"\\'", $suggestion);
1429 $js .= $comma .
"'{$suggestion}'";
1430 if (!$comma) { $comma =
", "; }
1435 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
1436 $response->addScript($js);
1437 return($response->getXML());
1452 if (!$q or !$el_input or !$el_suggest) {
return($response->getXML()); }
1458 $results = array_unique($results);
1461 $js .=
"suggestions = Array(";
1463 foreach ($results as $suggestion) {
1464 $suggestion = str_replace(
"'",
"\\'", $suggestion);
1465 $js .= $comma .
"'{$suggestion}'";
1466 if (!$comma) { $comma =
", "; }
1471 $js .=
"suggest_display('{$el_input}', '{$el_suggest}');";
1472 $response->addScript($js);
1473 return($response->getXML());