本文整理汇总了PHP中plugin_list函数的典型用法代码示例。如果您正苦于以下问题:PHP plugin_list函数的具体用法?PHP plugin_list怎么用?PHP plugin_list使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了plugin_list函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get_plugin_list
/**
* Returns array of plugin names
*
* @return array plugin names
*/
function get_plugin_list()
{
if (is_null($this->_plugin_list)) {
$list = plugin_list('', false);
$this->_plugin_list = $list;
}
return $this->_plugin_list;
}
示例2: p_get_parsermodes
function p_get_parsermodes()
{
global $conf;
//reuse old data
static $modes = null;
if ($modes != null) {
return $modes;
}
//import parser classes and mode definitions
require_once DOKU_INC . 'includes/parser/parser.php';
// we now collect all syntax modes and their objects, then they will
// be sorted and added to the parser in correct order
$modes = array();
// add syntax plugins
$pluginlist = plugin_list('syntax');
if (count($pluginlist)) {
global $PARSER_MODES;
$obj = null;
foreach ($pluginlist as $p) {
if (!($obj =& plugin_load('syntax', $p))) {
continue;
}
//attempt to load plugin into $obj
$PARSER_MODES[$obj->getType()][] = "plugin_{$p}";
//register mode type
//add to modes
$modes[] = array('sort' => $obj->getSort(), 'mode' => "plugin_{$p}", 'obj' => $obj);
unset($obj);
//remove the reference
}
}
// add default modes
$std_modes = array('listblock', 'preformatted', 'notoc', 'nocache', 'header', 'table', 'linebreak', 'footnote', 'hr', 'unformatted', 'php', 'html', 'code', 'file', 'quote', 'multiplyentity', 'quotes', 'internallink', 'rss', 'media', 'externallink', 'emaillink', 'windowssharelink', 'eol');
foreach ($std_modes as $m) {
$class = "Doku_Parser_Mode_{$m}";
$obj = new $class();
$modes[] = array('sort' => $obj->getSort(), 'mode' => $m, 'obj' => $obj);
}
// add formatting modes
$fmt_modes = array('strong', 'emphasis', 'underline', 'monospace', 'subscript', 'superscript', 'deleted');
foreach ($fmt_modes as $m) {
$obj = new Doku_Parser_Mode_formatting($m);
$modes[] = array('sort' => $obj->getSort(), 'mode' => $m, 'obj' => $obj);
}
//sort modes
usort($modes, 'p_sort_modes');
return $modes;
}
示例3: plugin_printCSSJS
/**
* prints needed HTML to include plugin CSS and JS files
*
* @deprecated - now handled by the style and script loader in lib/exe
*/
function plugin_printCSSJS()
{
global $conf;
if (isset($conf['pluginmanager']) && $conf['pluginmanager'] && @file_exists(DOKU_INC . 'lib/plugins/plugin_style.css')) {
// individual plugin instances of the files swept into one file each
$dir = "lib/plugins/plugin_";
if (@file_exists(DOKU_INC . $dir . 'style.css')) {
print ' <link rel="stylesheet" type="text/css" href="' . DOKU_BASE . $dir . 'style.css" />' . "\n";
}
if (@file_exists(DOKU_INC . $dir . 'screen.css')) {
print ' <link rel="stylesheet" media="screen" type="text/css" href="' . DOKU_BASE . $dir . 'screen.css" />' . "\n";
}
if (@file_exists(DOKU_INC . $dir . 'print.css')) {
print ' <link rel="stylesheet" media="print" type="text/css" href="' . DOKU_BASE . $dir . 'print.css" />' . "\n";
}
if (@file_exists(DOKU_INC . $dir . 'script.js')) {
print ' <script type="text/javascript" language="javascript" charset="utf-8" src="' . DOKU_BASE . $dir . 'script.js"></script>' . "\n";
}
} else {
// no plugin manager (or aggregate files not setup) so individual instances of these files for any plugin that uses them
$plugins = plugin_list();
foreach ($plugins as $p) {
$dir = "lib/plugins/{$p}/";
if (@file_exists(DOKU_INC . $dir . 'style.css')) {
print ' <link rel="stylesheet" type="text/css" href="' . DOKU_BASE . $dir . 'style.css" />' . "\n";
}
if (@file_exists(DOKU_INC . $dir . 'screen.css')) {
print ' <link rel="stylesheet" media="screen" type="text/css" href="' . DOKU_BASE . $dir . 'screen.css" />' . "\n";
}
if (@file_exists(DOKU_INC . $dir . 'print.css')) {
print ' <link rel="stylesheet" media="print" type="text/css" href="' . DOKU_BASE . $dir . 'print.css" />' . "\n";
}
if (@file_exists(DOKU_INC . $dir . 'script.js')) {
print ' <script type="text/javascript" language="javascript" charset="utf-8" src="' . DOKU_BASE . $dir . 'script.js"></script>' . "\n";
}
}
}
}
示例4: ws_run_report
function ws_run_report($window_name, $form = '')
{
// Get the plugin location info.
$reportlist = plugin_list('report');
// Loop through the list of reports till we find the matching name
foreach ($reportlist as $report) {
if ($report['name'] == $form['report']) {
// Load the report include file
if (require_once $report['path']) {
// Run the report and put it in the report_content box
list($status, $report_output) = rpt_run($form, 'html');
}
}
}
// Insert the new html into the window
// Instantiate the xajaxResponse object
$response = new xajaxResponse();
$response->addAssign("report_content", "innerHTML", $report_output);
if ($js) {
$response->addScript($js);
}
return $response->getXML();
}
示例5: __call
function __call($name, $arguments)
{
if (in_array('highlight', plugin_list())) {
die('ERROR: highlight loaded');
}
require dirname(__FILE__) . '/mapping.php';
$this->conf['m'] = $m;
$m = $this->conf['m'];
$args = func_get_args();
array_shift($args);
$args = $args[0];
if (substr($name, -5) === '_open') {
$type = 'OPEN';
$multi = true;
$this->opened++;
} elseif (substr($name, -6) === '_close') {
$type = 'CLOSE';
$multi = true;
$this->opened--;
} else {
$type = 'SINGLE';
$multi = false;
}
$tag = str_replace(array('_open', '_close'), '', $name);
// not nice but short
// Footnote
if (!isset($this->footnote_open)) {
$this->footnote_open = false;
}
if ($tag == 'footnote') {
$this->footnote_open = $type == 'OPEN';
}
if (isset($m[$tag])) {
$mapping = $m[$tag];
} else {
foreach ($m as $key => $value) {
if (in_array($tag, $value['alias'])) {
$mapping = $m[$key];
break;
}
}
}
if (!is_array($mapping)) {
echo '<span style="color:red; display:block">No mapping found for function "' . $name . '()" and tag "' . $tag . '"</span>' . PHP_EOL;
$this->doc = 'NO MAPPING FOUND' . $this->doc;
exit;
}
// Use different template when p tag (paragraph) is open
if (($this->pTagOpen or $this->sectionTagOpen) and isset($mapping['template_p_open'])) {
$mapping['template'] = $mapping['template_p_open'];
}
// Special template for Headline level 1
if (in_array($name, array('header', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'))) {
if ($args[1] == 1) {
$mapping['template'] = $mapping['template_level_0'];
} else {
// Reduce level by 1
$args[1]--;
}
}
// Get the corresponding part of the template
$templateParts = explode($mapping['replacement'], $mapping['template']);
switch ($type) {
case 'OPEN':
$doc = self::cleanTemplate($templateParts[0]);
break;
case 'CLOSE':
$doc = self::cleanTemplate($templateParts[1]);
break;
case 'SINGLE':
// $args[0] = str_replace('"', '"', $args[0]); // seems not to work in headlines
$args[0] = str_replace('&', '&', $args[0]);
$args[0] = str_replace('\'', ''', $args[0]);
$args[0] = str_replace('<', '<', $args[0]);
$args[0] = str_replace('>', '>', $args[0]);
if (isset($args[1]) and strpos($name, 'link') != false) {
$args[1] = str_replace('&', '&', $args[1]);
$args[1] = str_replace('\'', ''', $args[1]);
$args[1] = str_replace('<', '<', $args[1]);
$args[1] = str_replace('>', '>', $args[1]);
}
if ($name == 'emaillink') {
$args[0] = 'mailto:' . $args[0];
}
// Add link text if there is none
if (($name === 'internallink' or $name === 'externallink' or $name === 'emaillink') and empty($args[1])) {
$args[1] = $args[0];
}
// Link text " -> &qout;
if (($name === 'internallink' or $name === 'externallink' or $name === 'emaillink') and empty($args[1])) {
$args[1] = str_replace('"', '"', $args[1]);
}
// Full URL for internal links
if ($name === 'internallink') {
$args[0] = DOKU_URL . $args[0];
}
// Code linebreaks
if ($name === 'code') {
$args[0] = str_replace("\n", '<dir-break-space/>', $args[0]);
}
//.........这里部分代码省略.........
示例6: ona_sql
function ona_sql($options = "")
{
// The important globals
global $conf, $onadb, $base;
// Version - UPDATE on every edit!
$version = '1.05';
// TODO: Maybe make this into a sys_config option
$srvdir = dirname($base) . "/sql";
printmsg('DEBUG => ona_sql(' . $options . ') called', 3);
// Parse incoming options string to an array
$options = parse_options($options);
// Sanitize delimeter
if (!$options['delimiter']) {
$options['delimiter'] = ':';
}
// fix up the escaped ' marks. may need the = and & stuff too????
$options['sql'] = str_replace('\\\'', '\'', $options['sql']);
$options['sql'] = str_replace('\\=', '=', $options['sql']);
// Set "options[commit] to no if it's not set
if (!array_key_exists('commit', $options)) {
$options['commit'] = 'N';
} else {
$options['commit'] = sanitize_YN($options['commit'], 'N');
}
// Set "options[commit] to no if it's not set
if (!array_key_exists('dataarray', $options)) {
$options['dataarray'] = 'N';
} else {
$options['dataarray'] = sanitize_YN($options['dataarray'], 'N');
}
// Set "options[header] to yes if it's not set
if (!array_key_exists('header', $options)) {
$options['header'] = 'Y';
} else {
$options['header'] = sanitize_YN($options['header'], 'Y');
}
// Check permissions
if (!auth('ona_sql')) {
$self['error'] = "Permission denied!";
printmsg($self['error'], 0);
return array(10, $self['error'] . "\n");
}
// Return the usage summary if we need to
if ($options['help'] or !($options['list'] and !$options['sql'] or !$options['list'] and $options['sql'])) {
// NOTE: Help message lines should not exceed 80 characters for proper display on a console
return array(1, <<<EOM
ona_sql-v{$version}
Runs the specified SQL query on the database and prints the result
Synopsis: ona_sql [KEY=VALUE] ...
Required:
sql=STATEMENT|FILENAME quoted SQL statement to execute
OR
list lists the SQL files available on the server side
Optional:
show displays contents of SQL, gives usage etc
commit=yes|no commit the transaction (no)
header=yes|no display record header (yes)
delimiter=DELIMITER record delimiter for output (:)
(1,2,..)=VALUE bind variables, replaces ? in query sequentially.
the first ? found is replaced by 1=value, and so on
Notes:
* Query is sent to the configured OpenNetAdmin database server.
* The use of bind variables requires your options to match positionally.
* The SQL option will be tried first as a local file, then as a server
file, then as a raw text SQL query. Filenames are case sensitive.
* Server based SQL files are located in {$srvdir}
* Some plugins may provide their own SQL dir inside the plugin directory
* Use the show option to display contents of SQL files, this should contain
a long description and any usage information that is needed.
EOM
);
}
// TODO: check that the user has admin privs? or at least a ona_sql priv
// Get a list of the files
$plugins = plugin_list();
$files = array();
$srvdirs = array();
array_push($srvdirs, $srvdir);
// add a local sql dir as well so they don't get overrriden by installs
array_push($srvdirs, dirname($base) . '/www/local/sql');
// loop through the plugins and find files inside of their sql directories.
foreach ($plugins as $plug) {
array_push($srvdirs, $plug['path'] . '/sql');
}
// Loop through each of our plugin directories and the default directory to find .sql files
foreach ($srvdirs as $srvdir) {
if ($handle = @opendir($srvdir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".." && substr($file, -4) == '.sql') {
// Build an array of filenames
array_push($files, $srvdir . '/' . $file);
}
}
//.........这里部分代码省略.........
示例7: plugin_multi_edit
function plugin_multi_edit()
{
$selected = ps('selected');
$method = ps('edit_method');
if (!$selected or !is_array($selected)) {
return plugin_list();
}
$where = "name IN ('" . join("','", doSlash($selected)) . "')";
switch ($method) {
case 'delete':
safe_delete('txp_plugin', $where);
break;
case 'changestatus':
safe_update('txp_plugin', 'status = (1-status)', $where);
break;
case 'changeorder':
$order = min(max(intval(ps('order')), 1), 9);
safe_update('txp_plugin', 'load_order = ' . $order, $where);
break;
}
$message = gTxt('plugin_' . ($method == 'delete' ? 'deleted' : 'updated'), array('{name}' => join(', ', $selected)));
plugin_list($message);
}
示例8: list
list($wspl, $wsjs) = workspace_plugin_loader('desktop_firsttasks', $record, $extravars);
print $wspl;
print <<<EOL
<!-- END OF FIRST COLUMN OF SMALL BOXES -->
</td>
</tr>
<tr>
<td nowrap="true" valign="top" style="padding: 15px;">
EOL;
// Get all the plugin based worspace items
$wspl_list = plugin_list('wspl_item');
// Load all the dynamic plugins
foreach ($wspl_list as $p) {
list($wspl, $wsjs) = workspace_plugin_loader($p['path'], $record, $extravars);
print $wspl;
$ws_plugin_js .= $wsjs;
}
print <<<EOL
</td>
</tr>
</table>
<!-- Print the MOTD info if any -->
<div>{$MOTD}</div>
</div>
示例9: initialize
/**
* Receives current values for the setting $key
*
* @param mixed $default default setting value
* @param mixed $local local setting value
* @param mixed $protected protected setting value
*/
function initialize($default, $local, $protected)
{
$format = $this->_format;
foreach (plugin_list('renderer') as $plugin) {
$renderer = plugin_load('renderer', $plugin);
if (method_exists($renderer, 'canRender') && $renderer->canRender($format)) {
$this->_choices[] = $plugin;
$info = $renderer->getInfo();
$this->_prompts[$plugin] = $info['name'];
}
}
parent::initialize($default, $local, $protected);
}
示例10: js_pluginstrings
/**
* Return an two-dimensional array with strings from the language file of each plugin.
*
* - $lang['js'] must be an array.
* - Nothing is returned for plugins without an entry for $lang['js']
*
* @author Gabriel Birke <birke@d-scribe.de>
*/
function js_pluginstrings()
{
global $conf;
$pluginstrings = array();
$plugins = plugin_list();
foreach ($plugins as $p) {
if (isset($lang)) {
unset($lang);
}
if (@file_exists(DOKU_PLUGIN . "{$p}/lang/en/lang.php")) {
include DOKU_PLUGIN . "{$p}/lang/en/lang.php";
}
if (isset($conf['lang']) && $conf['lang'] != 'en' && @file_exists(DOKU_PLUGIN . "{$p}/lang/" . $conf['lang'] . "/lang.php")) {
include DOKU_PLUGIN . "{$p}/lang/" . $conf['lang'] . "/lang.php";
}
if (isset($lang['js'])) {
$pluginstrings[$p] = $lang['js'];
}
}
return $pluginstrings;
}
示例11: plugin_multi_edit
function plugin_multi_edit()
{
$selected = ps('selected');
$method = ps('edit_method');
if (!$selected or !is_array($selected)) {
return plugin_list();
}
$where = "name IN ('" . join("','", doSlash($selected)) . "')";
switch ($method) {
case 'delete':
foreach ($selected as $name) {
if (safe_field('flags', 'txp_plugin', "name ='" . doSlash($name) . "'") & PLUGIN_LIFECYCLE_NOTIFY) {
load_plugin($name, true);
callback_event("plugin_lifecycle.{$name}", 'disabled');
callback_event("plugin_lifecycle.{$name}", 'deleted');
}
}
safe_delete('txp_plugin', $where);
break;
case 'changestatus':
foreach ($selected as $name) {
if (safe_field('flags', 'txp_plugin', "name ='" . doSlash($name) . "'") & PLUGIN_LIFECYCLE_NOTIFY) {
$status = safe_field('status', 'txp_plugin', "name ='" . doSlash($name) . "'");
load_plugin($name, true);
// NB: won't show returned messages anywhere due to potentially overwhelming verbiage.
callback_event("plugin_lifecycle.{$name}", $status ? 'disabled' : 'enabled');
}
}
safe_update('txp_plugin', 'status = (1-status)', $where);
break;
case 'changeorder':
$order = min(max(intval(ps('order')), 1), 9);
safe_update('txp_plugin', 'load_order = ' . $order, $where);
break;
}
$message = gTxt('plugin_' . ($method == 'delete' ? 'deleted' : 'updated'), array('{name}' => join(', ', $selected)));
plugin_list($message);
}
示例12: get_plugin_list
function get_plugin_list()
{
if (is_null($this->_plugin_list)) {
$list = plugin_list('', true);
// all plugins, including disabled ones
// remove this plugin from the list
$idx = array_search('config', $list);
unset($list[$idx]);
trigger_event('PLUGIN_CONFIG_PLUGINLIST', $list);
$this->_plugin_list = $list;
}
return $this->_plugin_list;
}
示例13: getPluginMethods
/**
* @return array all plugin methods.
*/
public function getPluginMethods()
{
if ($this->pluginMethods === null) {
$this->pluginMethods = array();
$plugins = plugin_list('remote');
foreach ($plugins as $pluginName) {
$plugin = plugin_load('remote', $pluginName);
if (!is_subclass_of($plugin, 'DokuWiki_Remote_Plugin')) {
throw new RemoteException("Plugin {$pluginName} does not implement DokuWiki_Remote_Plugin");
}
$methods = $plugin->_getMethods();
foreach ($methods as $method => $meta) {
$this->pluginMethods["plugin.{$pluginName}.{$method}"] = $meta;
}
}
}
return $this->pluginMethods;
}
示例14: _html_admin
function _html_admin()
{
global $ID;
global $INFO;
global $lang;
global $conf;
global $auth;
// build menu of admin functions from the plugins that handle them
$pluginlist = plugin_list('admin');
$menu = array();
foreach ($pluginlist as $p) {
if (($obj =& plugin_load('admin', $p)) === NULL) {
continue;
}
// check permissions
if ($obj->forAdminOnly() && !$INFO['isadmin']) {
continue;
}
$menu[$p] = array('plugin' => $p, 'prompt' => $obj->getMenuText($conf['lang']), 'sort' => $obj->getMenuSort());
}
// check if UserManager available
$usermanageravailable = true;
if (!isset($auth)) {
$usermanageravailable = false;
} else {
if (!$auth->canDo('getUsers')) {
$usermanageravailable = false;
}
}
// output main tasks
ptln('<h1>' . $this->getLang('pageheader') . '</h1>');
ptln('<div id="admin__maintable">');
ptln(' <div id="admin__tasks">');
if ($INFO['isadmin']) {
if ($usermanageravailable) {
ptln(' <div id="admin__usermanager"><a href="' . wl($ID, 'do=admin&page=usermanager') . '">' . $menu[usermanager]['prompt'] . '</a></div>');
}
ptln(' <div id="admin__acl"><a href="' . wl($ID, 'do=admin&page=acl') . '">' . $menu['acl']['prompt'] . '</a></div>');
ptln(' <div id="admin__plugin"><a href="' . wl($ID, 'do=admin&page=plugin') . '">' . $menu['plugin']['prompt'] . '</a></div>');
ptln(' <div id="admin__config"><a href="' . wl($ID, 'do=admin&page=config') . '">' . $menu['config']['prompt'] . '</a></div>');
} else {
ptln(' ');
}
ptln(' </div>');
ptln(' <div id="admin__version">');
ptln(' <div><b>' . $this->getLang('wiki_version') . '</b><br/>' . getVersion() . '</div>');
ptln(' <div><b>' . $this->getLang('php_version') . '</b><br/>' . phpversion() . '</div>');
ptln(' </div>');
ptln('</div>');
// remove the four main plugins
unset($menu['acl']);
if ($usermanageravailable) {
unset($menu['usermanager']);
}
unset($menu['config']);
unset($menu['plugin']);
// output the remaining menu
usort($menu, 'p_sort_modes');
ptln('<h2>' . $this->getLang('more_adminheader') . '</h2>');
ptln('<div class="level2">');
echo $this->render($this->getLang('more_admintext'));
ptln('<ul id="admin__pluginlist">');
foreach ($menu as $item) {
if (!$item['prompt']) {
continue;
}
ptln(' <li class="level1"><div class="li"><a href="' . wl($ID, 'do=admin&page=' . $item['plugin']) . '">' . $item['prompt'] . '</a></div></li>');
}
ptln('</ul></div>');
}
示例15: plugin_list
<?php
/**
* Language file for fckg in UTF-8
*
* @author: Ianka Kryukov <IanisKr@mail.ru>
*/
$lang['groups'] = "Разделенный запятыми список групп, которым разрешено отключать таймер блокировки";
$lang['middot'] = "Разделенный запятыми список групп using &middot; for &nbsp;";
$lang['big_files'] = "Отметте чтобы защитить редактирование больших (oversized) файлов";
$lang['big_file_sz'] = "Размер большого (oversized) файла (в байтах)";
$lang['big_file_tm'] = "Обработка большого (oversized) файла будет закончена через (секунд):";
$lang['fck_preview'] = "FCK Preview Group";
$lang['guest_toolbar'] = "Отображать ли панель для незарегистрированных пользователей";
$lang['guest_media'] = "Могут ли незарегистрированные пользователи вставлять ссылки на медиа файлы";
$lang['open_upload'] = "Могут ли незарегистрированные пользователи загружать файлы";
$list = plugin_list('syntax');
$list = implode(", ", $list);
$lang['xcl_plugins'] = "Разделенный запятыми список плагинов Immutable Syntax. " . "Их имена должны быть точно такими же, как в этом списке инсталлированных плагинов: {$list}";
$lang['default_fb'] = "Доступ для просмотра файлов по умолчанию. Если выбрать none, то ACL не будет использоваться.";
$lang['openfb'] = "Открытый просмотр файлов. Это дает пользователю доступ ко всей структуре папок, несмотря на то, имеет ли он права на это или нет. При этом ACL применяется для разрешения загрузки.";
$lang['csrf'] = "Если Вы получаете CSRF предупреждения, отметте этот пункт.";