attributes(); $pluginAttributeCache[$arg] = (array)$attributes ?: ["error" => "no attributes present"]; } } if ( $method == 'attributes' ) { return is_file($arg) ? json_encode($pluginAttributeCache[$arg]['@attributes']) : false; } return (is_file($arg) && isset($pluginAttributeCache[$arg]['@attributes'][$method]) ) ? (string)$pluginAttributeCache[$arg]['@attributes'][$method] : false; } // Invoke the language command with indicated method function language($method, $arg = '') { global $docroot; exec("$docroot/plugins/dynamix.plugin.manager/scripts/language ".escapeshellarg($method)." ".escapeshellarg($arg), $output, $retval); return $retval==0 ? implode("\n", $output) : false; } function check_plugin($arg, &$ncsi) { // Get network connection status indicator (NCSI) if ($ncsi===null) $ncsi = check_network_connectivity(); return $ncsi ? plugin('check',$arg) : false; } function make_link($method, $arg, $extra='') { $plg = basename($arg,'.plg').':'.$method; $id = str_replace(['.',' ','_'],'',$plg); $check = $method=='remove' ? "" : ""; $disabled = $check ? ' disabled' : ''; if ($method == 'update' && $extra) { $disabled = 'disabled'; $id = $extra; } if ($method == 'delete') { $cmd = "plugin_rm $arg"; $func = "refresh"; $plg = ""; } else { $cmd = "plugin $method $arg".($extra?" $extra":""); $func = "loadlist"; } if (is_file("/tmp/plugins/pluginPending/$arg") && !$check) { return " "._('pending').""; } else { return "$check"; } } // trying our best to find an icon function icon($name) { // this should be the default location and name $icon = "plugins/$name/images/$name.png"; if (file_exists($icon)) return $icon; // try alternatives if default is not present $icon = "plugins/$name/$name.png"; if (file_exists($icon)) return $icon; $image = @preg_split('/[\._- ]/',$name)[0]; $icon = "plugins/$name/images/$image.png"; if (file_exists($icon)) return $icon; $icon = "plugins/$name/$image.png"; if (file_exists($icon)) return $icon; // last resort - default plugin icon return "webGui/images/plg.png"; } function mk_options($select,$value) { return ""; } ?>