• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP uninstall_plugin函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中uninstall_plugin函数的典型用法代码示例。如果您正苦于以下问题:PHP uninstall_plugin函数的具体用法?PHP uninstall_plugin怎么用?PHP uninstall_plugin使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了uninstall_plugin函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: execute

 public function execute()
 {
     global $CFG;
     require_once $CFG->libdir . '/adminlib.php';
     // various admin-only functions
     require_once $CFG->libdir . '/upgradelib.php';
     // general upgrade/install related functions
     require_once $CFG->libdir . '/environmentlib.php';
     require_once $CFG->libdir . '/pluginlib.php';
     require_once $CFG->dirroot . '/course/lib.php';
     //some variables you may want to use
     //$this->cwd - the directory where moosh command was executed
     //$this->mooshDir - moosh installation directory
     //$this->expandedOptions - commandline provided options, merged with defaults
     //$this->topDir - top Moodle directory
     //$this->arguments[0] - first argument passed
     //$options = $this->expandedOptions;
     $split = explode('_', $this->arguments[0], 2);
     uninstall_plugin($split[0], $split[1]);
     upgrade_noncore(true);
     /* if verbose mode was requested, show some more information/debug messages
        if($this->verbose) {
            echo "Say what you're doing now";
        }
        */
 }
开发者ID:dariogs,项目名称:moosh,代码行数:26,代码来源:ModuleReinstall.php


示例2: uninstall

 /**
  * Uninstall a plugin
  *
  * @param array $args
  */
 function uninstall($args)
 {
     list($file, $name) = $this->parse_name($args, __FUNCTION__);
     if (is_plugin_active($file)) {
         WP_CLI::error('The plugin is active.');
     }
     uninstall_plugin($file);
 }
开发者ID:bytewang,项目名称:wp-cli,代码行数:13,代码来源:plugin.php


示例3: uninstall_plugin

/**
 * Automatically clean-up all plugin data and remove the plugin DB tables
 *
 * @param string $type The plugin type, eg. 'mod', 'qtype', 'workshopgrading' etc.
 * @param string $name The plugin name, eg. 'forum', 'multichoice', 'accumulative' etc.
 * @uses global $OUTPUT to produce notices and other messages
 * @return void
 */
function uninstall_plugin($type, $name)
{
    global $CFG, $DB, $OUTPUT;
    // recursively uninstall all module subplugins first
    if ($type === 'mod') {
        if (file_exists("{$CFG->dirroot}/mod/{$name}/db/subplugins.php")) {
            $subplugins = array();
            include "{$CFG->dirroot}/mod/{$name}/db/subplugins.php";
            foreach ($subplugins as $subplugintype => $dir) {
                $instances = get_plugin_list($subplugintype);
                foreach ($instances as $subpluginname => $notusedpluginpath) {
                    uninstall_plugin($subplugintype, $subpluginname);
                }
            }
        }
    }
    $component = $type . '_' . $name;
    // eg. 'qtype_multichoice' or 'workshopgrading_accumulative' or 'mod_forum'
    if ($type === 'mod') {
        $pluginname = $name;
        // eg. 'forum'
        if (get_string_manager()->string_exists('modulename', $component)) {
            $strpluginname = get_string('modulename', $component);
        } else {
            $strpluginname = $component;
        }
    } else {
        $pluginname = $component;
        if (get_string_manager()->string_exists('pluginname', $component)) {
            $strpluginname = get_string('pluginname', $component);
        } else {
            $strpluginname = $component;
        }
    }
    echo $OUTPUT->heading($pluginname);
    $plugindirectory = get_plugin_directory($type, $name);
    $uninstalllib = $plugindirectory . '/db/uninstall.php';
    if (file_exists($uninstalllib)) {
        require_once $uninstalllib;
        $uninstallfunction = 'xmldb_' . $pluginname . '_uninstall';
        // eg. 'xmldb_workshop_uninstall()'
        if (function_exists($uninstallfunction)) {
            if (!$uninstallfunction()) {
                echo $OUTPUT->notification('Encountered a problem running uninstall function for ' . $pluginname);
            }
        }
    }
    if ($type === 'mod') {
        // perform cleanup tasks specific for activity modules
        if (!($module = $DB->get_record('modules', array('name' => $name)))) {
            print_error('moduledoesnotexist', 'error');
        }
        // delete all the relevant instances from all course sections
        if ($coursemods = $DB->get_records('course_modules', array('module' => $module->id))) {
            foreach ($coursemods as $coursemod) {
                if (!delete_mod_from_section($coursemod->id, $coursemod->section)) {
                    echo $OUTPUT->notification("Could not delete the {$strpluginname} with id = {$coursemod->id} from section {$coursemod->section}");
                }
            }
        }
        // clear course.modinfo for courses that used this module
        $sql = "UPDATE {course}\n                   SET modinfo=''\n                 WHERE id IN (SELECT DISTINCT course\n                                FROM {course_modules}\n                               WHERE module=?)";
        $DB->execute($sql, array($module->id));
        // delete all the course module records
        $DB->delete_records('course_modules', array('module' => $module->id));
        // delete module contexts
        if ($coursemods) {
            foreach ($coursemods as $coursemod) {
                if (!delete_context(CONTEXT_MODULE, $coursemod->id)) {
                    echo $OUTPUT->notification("Could not delete the context for {$strpluginname} with id = {$coursemod->id}");
                }
            }
        }
        // delete the module entry itself
        $DB->delete_records('modules', array('name' => $module->name));
        // cleanup the gradebook
        require_once $CFG->libdir . '/gradelib.php';
        grade_uninstalled_module($module->name);
        // Perform any custom uninstall tasks
        if (file_exists($CFG->dirroot . '/mod/' . $module->name . '/lib.php')) {
            require_once $CFG->dirroot . '/mod/' . $module->name . '/lib.php';
            $uninstallfunction = $module->name . '_uninstall';
            if (function_exists($uninstallfunction)) {
                debugging("{$uninstallfunction}() has been deprecated. Use the plugin's db/uninstall.php instead", DEBUG_DEVELOPER);
                if (!$uninstallfunction()) {
                    echo $OUTPUT->notification('Encountered a problem running uninstall function for ' . $module->name . '!');
                }
            }
        }
    } else {
        if ($type === 'enrol') {
            // NOTE: this is a bit brute force way - it will not trigger events and hooks properly
//.........这里部分代码省略.........
开发者ID:raymondAntonio,项目名称:moodle,代码行数:101,代码来源:adminlib.php


示例4: print_error

    echo $OUTPUT->header();
    echo $OUTPUT->heading($strmanageblocks);
    if (!($block = blocks_get_record($delete))) {
        print_error('blockdoesnotexist', 'error');
    }
    if (get_string_manager()->string_exists('pluginname', "block_{$block->name}")) {
        $strblockname = get_string('pluginname', "block_{$block->name}");
    } else {
        $strblockname = $block->name;
    }
    if (!$confirm) {
        echo $OUTPUT->confirm(get_string('blockdeleteconfirm', '', $strblockname), 'blocks.php?delete=' . $block->id . '&confirm=1', 'blocks.php');
        echo $OUTPUT->footer();
        exit;
    } else {
        uninstall_plugin('block', $block->name);
        $a = new stdClass();
        $a->block = $strblockname;
        $a->directory = $CFG->dirroot . '/blocks/' . $block->name;
        notice(get_string('blockdeletefiles', '', $a), 'blocks.php');
    }
}
echo $OUTPUT->header();
echo $OUTPUT->heading($strmanageblocks);
/// Main display starts here
/// Get and sort the existing blocks
if (!($blocks = $DB->get_records('block', array(), 'name ASC'))) {
    print_error('noblocks', 'error');
    // Should never happen
}
$incompatible = array();
开发者ID:JP-Git,项目名称:moodle,代码行数:31,代码来源:blocks.php


示例5: trim

     break;
 case 'install':
     $plugin_name = trim(gpc('plugin_name', 'G', ''));
     if ($plugin_name) {
         include_once PD_PLUGINS_DIR . "{$plugin_name}/install.inc.php";
         install_plugin();
         write_file(PD_PLUGINS_DIR . "{$plugin_name}/install.lock", "PHPDISK {$plugin_name} plugin installed!");
     }
     $sysmsg[] = __('plugin_install_success');
     redirect($_SERVER['HTTP_REFERER'], $sysmsg);
     break;
 case 'uninstall':
     $plugin_name = trim(gpc('plugin_name', 'G', ''));
     if ($plugin_name) {
         include_once PD_PLUGINS_DIR . "{$plugin_name}/install.inc.php";
         uninstall_plugin();
         @unlink(PD_PLUGINS_DIR . "{$plugin_name}/install.lock");
         $ins = array('plugin_name' => $plugin_name, 'active' => 0);
         $sqls = "('{$ins[plugin_name]}','{$ins[active]}')";
         $db->query("replace into {$tpf}plugins(plugin_name,actived) values {$sqls} ;");
     }
     $sysmsg[] = __('plugin_uninstall_success');
     redirect($_SERVER['HTTP_REFERER'], $sysmsg);
     break;
 case 'actived_plugins':
     $sql_do = " where actived=1";
     $perpage = 10;
     $rs = $db->fetch_one_array("select count(*) as total_num from {$tpf}plugins {$sql_do}");
     $total_num = $rs['total_num'];
     $start_num = ($pg - 1) * $perpage;
     $q = $db->query("select * from {$tpf}plugins {$sql_do} order by plugin_name asc limit {$start_num},{$perpage}");
开发者ID:saintho,项目名称:phpdisk,代码行数:31,代码来源:plugins.inc.php


示例6: delete_plugins

/**
 * Remove directory and files of a plugin for a list of plugins.
 *
 * @since 2.6.0
 *
 * @global WP_Filesystem_Base $wp_filesystem
 *
 * @param array  $plugins    List of plugins to delete.
 * @param string $deprecated Deprecated.
 * @return bool|null|WP_Error True on success, false is $plugins is empty, WP_Error on failure.
 *                            Null if filesystem credentials are required to proceed.
 */
function delete_plugins( $plugins, $deprecated = '' ) {
	global $wp_filesystem;

	if ( empty($plugins) )
		return false;

	$checked = array();
	foreach( $plugins as $plugin )
		$checked[] = 'checked[]=' . $plugin;

	ob_start();
	$url = wp_nonce_url('plugins.php?action=delete-selected&verify-delete=1&' . implode('&', $checked), 'bulk-plugins');
	if ( false === ($credentials = request_filesystem_credentials($url)) ) {
		$data = ob_get_contents();
		ob_end_clean();
		if ( ! empty($data) ){
			include_once( ABSPATH . 'wp-admin/admin-header.php');
			echo $data;
			include( ABSPATH . 'wp-admin/admin-footer.php');
			exit;
		}
		return;
	}

	if ( ! WP_Filesystem($credentials) ) {
		request_filesystem_credentials($url, '', true); //Failed to connect, Error and request again
		$data = ob_get_contents();
		ob_end_clean();
		if ( ! empty($data) ){
			include_once( ABSPATH . 'wp-admin/admin-header.php');
			echo $data;
			include( ABSPATH . 'wp-admin/admin-footer.php');
			exit;
		}
		return;
	}

	if ( ! is_object($wp_filesystem) )
		return new WP_Error('fs_unavailable', __('Could not access filesystem.'));

	if ( is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code() )
		return new WP_Error('fs_error', __('Filesystem error.'), $wp_filesystem->errors);

	// Get the base plugin folder.
	$plugins_dir = $wp_filesystem->wp_plugins_dir();
	if ( empty( $plugins_dir ) ) {
		return new WP_Error( 'fs_no_plugins_dir', __( 'Unable to locate WordPress Plugin directory.' ) );
	}

	$plugins_dir = trailingslashit( $plugins_dir );

	$plugin_translations = wp_get_installed_translations( 'plugins' );

	$errors = array();

	foreach( $plugins as $plugin_file ) {
		// Run Uninstall hook.
		if ( is_uninstallable_plugin( $plugin_file ) ) {
			uninstall_plugin($plugin_file);
		}

		$this_plugin_dir = trailingslashit( dirname( $plugins_dir . $plugin_file ) );
		// If plugin is in its own directory, recursively delete the directory.
		if ( strpos( $plugin_file, '/' ) && $this_plugin_dir != $plugins_dir ) { //base check on if plugin includes directory separator AND that it's not the root plugin folder
			$deleted = $wp_filesystem->delete( $this_plugin_dir, true );
		} else {
			$deleted = $wp_filesystem->delete( $plugins_dir . $plugin_file );
		}

		if ( ! $deleted ) {
			$errors[] = $plugin_file;
			continue;
		}

		// Remove language files, silently.
		$plugin_slug = dirname( $plugin_file );
		if ( '.' !== $plugin_slug && ! empty( $plugin_translations[ $plugin_slug ] ) ) {
			$translations = $plugin_translations[ $plugin_slug ];

			foreach ( $translations as $translation => $data ) {
				$wp_filesystem->delete( WP_LANG_DIR . '/plugins/' . $plugin_slug . '-' . $translation . '.po' );
				$wp_filesystem->delete( WP_LANG_DIR . '/plugins/' . $plugin_slug . '-' . $translation . '.mo' );
			}
		}
	}

	// Remove deleted plugins from the plugin updates list.
	if ( $current = get_site_transient('update_plugins') ) {
//.........这里部分代码省略.........
开发者ID:ShankarVellal,项目名称:WordPress,代码行数:101,代码来源:plugin.php


示例7: uninstall

 /**
  * Uninstall a plugin.
  *
  * ## OPTIONS
  *
  * <plugin>...
  * : One or more plugins to uninstall.
  *
  * [--deactivate]
  * : Deactivate the plugin before uninstalling. Default behavior is to warn and skip if the plugin is active.
  *
  * [--skip-delete]
  * : If set, the plugin files will not be deleted. Only the uninstall procedure
  * will be run.
  *
  * ## EXAMPLES
  *
  *     wp plugin uninstall hello
  */
 function uninstall($args, $assoc_args = array())
 {
     foreach ($this->fetcher->get_many($args) as $plugin) {
         if (is_plugin_active($plugin->file) && !WP_CLI\Utils\get_flag_value($assoc_args, 'deactivate')) {
             WP_CLI::warning("The '{$plugin->name}' plugin is active.");
             continue;
         }
         if (\WP_CLI\Utils\get_flag_value($assoc_args, 'deactivate')) {
             WP_CLI::log("Deactivating '{$plugin->name}'...");
             $this->deactivate(array($plugin->name));
         }
         uninstall_plugin($plugin->file);
         if (!\WP_CLI\Utils\get_flag_value($assoc_args, 'skip-delete') && $this->_delete($plugin)) {
             WP_CLI::success("Uninstalled and deleted '{$plugin->name}' plugin.");
         } else {
             WP_CLI::success("Ran uninstall procedure for '{$plugin->name}' plugin without deleting.");
         }
     }
 }
开发者ID:kyeates,项目名称:wp-cli,代码行数:38,代码来源:plugin.php


示例8: admin_page_plugins

 /**
  * Plugins admin page
  *
  * @param App $a
  * @return string
  */
 function admin_page_plugins(&$a)
 {
     /*
      * Single plugin
      */
     if (\App::$argc == 3) {
         $plugin = \App::$argv[2];
         if (!is_file("addon/{$plugin}/{$plugin}.php")) {
             notice(t("Item not found."));
             return '';
         }
         $enabled = in_array($plugin, \App::$plugins);
         $info = get_plugin_info($plugin);
         $x = check_plugin_versions($info);
         // disable plugins which are installed but incompatible versions
         if ($enabled && !$x) {
             $enabled = false;
             $idz = array_search($plugin, \App::$plugins);
             if ($idz !== false) {
                 unset(\App::$plugins[$idz]);
                 uninstall_plugin($plugin);
                 set_config("system", "addon", implode(", ", \App::$plugins));
             }
         }
         $info['disabled'] = 1 - intval($x);
         if (x($_GET, "a") && $_GET['a'] == "t") {
             check_form_security_token_redirectOnErr('/admin/plugins', 'admin_plugins', 't');
             // Toggle plugin status
             $idx = array_search($plugin, \App::$plugins);
             if ($idx !== false) {
                 unset(\App::$plugins[$idx]);
                 uninstall_plugin($plugin);
                 info(sprintf(t("Plugin %s disabled."), $plugin));
             } else {
                 \App::$plugins[] = $plugin;
                 install_plugin($plugin);
                 info(sprintf(t("Plugin %s enabled."), $plugin));
             }
             set_config("system", "addon", implode(", ", \App::$plugins));
             goaway(z_root() . '/admin/plugins');
         }
         // display plugin details
         require_once 'library/markdown.php';
         if (in_array($plugin, \App::$plugins)) {
             $status = 'on';
             $action = t('Disable');
         } else {
             $status = 'off';
             $action = t('Enable');
         }
         $readme = null;
         if (is_file("addon/{$plugin}/README.md")) {
             $readme = file_get_contents("addon/{$plugin}/README.md");
             $readme = Markdown($readme);
         } else {
             if (is_file("addon/{$plugin}/README")) {
                 $readme = "<pre>" . file_get_contents("addon/{$plugin}/README") . "</pre>";
             }
         }
         $admin_form = '';
         $r = q("select * from addon where plugin_admin = 1 and name = '%s' limit 1", dbesc($plugin));
         if ($r) {
             @(require_once "addon/{$plugin}/{$plugin}.php");
             if (function_exists($plugin . '_plugin_admin')) {
                 $func = $plugin . '_plugin_admin';
                 $func($a, $admin_form);
             }
         }
         $t = get_markup_template('admin_plugins_details.tpl');
         return replace_macros($t, array('$title' => t('Administration'), '$page' => t('Plugins'), '$toggle' => t('Toggle'), '$settings' => t('Settings'), '$baseurl' => z_root(), '$plugin' => $plugin, '$status' => $status, '$action' => $action, '$info' => $info, '$str_author' => t('Author: '), '$str_maintainer' => t('Maintainer: '), '$str_minversion' => t('Minimum project version: '), '$str_maxversion' => t('Maximum project version: '), '$str_minphpversion' => t('Minimum PHP version: '), '$str_requires' => t('Requires: '), '$disabled' => t('Disabled - version incompatibility'), '$admin_form' => $admin_form, '$function' => 'plugins', '$screenshot' => '', '$readme' => $readme, '$form_security_token' => get_form_security_token('admin_plugins')));
     }
     /*
      * List plugins
      */
     $plugins = array();
     $files = glob('addon/*/');
     if ($files) {
         foreach ($files as $file) {
             if (is_dir($file)) {
                 list($tmp, $id) = array_map('trim', explode('/', $file));
                 $info = get_plugin_info($id);
                 $enabled = in_array($id, \App::$plugins);
                 $x = check_plugin_versions($info);
                 // disable plugins which are installed but incompatible versions
                 if ($enabled && !$x) {
                     $enabled = false;
                     $idz = array_search($id, \App::$plugins);
                     if ($idz !== false) {
                         unset(\App::$plugins[$idz]);
                         uninstall_plugin($id);
                         set_config("system", "addon", implode(", ", \App::$plugins));
                     }
                 }
                 $info['disabled'] = 1 - intval($x);
//.........这里部分代码省略.........
开发者ID:anmol26s,项目名称:hubzilla-yunohost,代码行数:101,代码来源:Admin.php


示例9: uninstall

 /**
  * Run the plugin's uninstall script.
  *
  * Call it and then run your uninstall assertions. You should always test
  * installation before testing uninstallation.
  *
  * @since 0.1.0
  */
 public function uninstall()
 {
     global $wpdb;
     if (!$this->simulated_usage) {
         $wpdb->query('ROLLBACK');
         // If the plugin has a usage simulation file, run it remotely.
         $this->simulate_usage();
     }
     // We're going to do real table dropping, not temporary tables.
     $drop_temp_tables = array($this, '_drop_temporary_table');
     // Back compat. See https://core.trac.wordpress.org/ticket/24800.
     if (method_exists($this, '_drop_temporary_tables')) {
         $drop_temp_tables = array($this, '_drop_temporary_tables');
     }
     remove_filter('query', $drop_temp_tables);
     if (empty($this->plugin_file)) {
         $this->fail('Error: $plugin_file property not set.');
     }
     uninstall_plugin($this->plugin_file);
     $this->flush_cache();
 }
开发者ID:jdgrimes,项目名称:wp-plugin-uninstall-tester,代码行数:29,代码来源:wp-plugin-uninstall-unittestcase.php


示例10: array_flip

        }
        $enabled = array_flip($enabled);
        $enabled[$current] = $enabled[$current + 1];
        $enabled[$current + 1] = $enrol;
        set_config('enrol_plugins_enabled', implode(',', $enabled));
        break;
    case 'uninstall':
        echo $OUTPUT->header();
        echo $OUTPUT->heading(get_string('enrolments', 'enrol'));
        if (get_string_manager()->string_exists('pluginname', 'enrol_' . $enrol)) {
            $strplugin = get_string('pluginname', 'enrol_' . $enrol);
        } else {
            $strplugin = $enrol;
        }
        if (!$confirm) {
            $uurl = new moodle_url('/admin/enrol.php', array('action' => 'uninstall', 'enrol' => $enrol, 'sesskey' => sesskey(), 'confirm' => 1));
            echo $OUTPUT->confirm(get_string('uninstallconfirm', 'enrol', $strplugin), $uurl, $return);
            echo $OUTPUT->footer();
            exit;
        } else {
            // Delete everything!!
            uninstall_plugin('enrol', $enrol);
            $a->plugin = $strplugin;
            $a->directory = "{$CFG->dirroot}/enrol/{$enrol}";
            echo $OUTPUT->notification(get_string('uninstalldeletefiles', 'enrol', $a), 'notifysuccess');
            echo $OUTPUT->continue_button($return);
            echo $OUTPUT->footer();
            exit;
        }
}
redirect($return);
开发者ID:vuchannguyen,项目名称:web,代码行数:31,代码来源:enrol.php


示例11: optional_param

$confirm = optional_param('confirm', false, PARAM_BOOL);
if (!empty($delete) and confirm_sesskey()) {
    // If data submitted, then process and store.
    echo $OUTPUT->header();
    echo $OUTPUT->heading(get_string('manageplagiarism', 'plagiarism'));
    if (!$confirm) {
        if (get_string_manager()->string_exists('pluginname', 'plagiarism_' . $delete)) {
            $strpluginname = get_string('pluginname', 'plagiarism_' . $delete);
        } else {
            $strpluginname = $delete;
        }
        echo $OUTPUT->confirm(get_string('plagiarismplugindeleteconfirm', 'plagiarism', $strpluginname), new moodle_url($PAGE->url, array('delete' => $delete, 'confirm' => 1)), $PAGE->url);
        echo $OUTPUT->footer();
        die;
    } else {
        uninstall_plugin('plagiarism', $delete);
        $a = new stdclass();
        $a->name = $delete;
        $pluginlocation = get_plugin_types();
        $a->directory = $pluginlocation['plagiarism'] . '/' . $delete;
        echo $OUTPUT->notification(get_string('plugindeletefiles', '', $a), 'notifysuccess');
        echo $OUTPUT->continue_button($PAGE->url);
        echo $OUTPUT->footer();
        die;
    }
}
echo $OUTPUT->header();
// Print the table of all installed plagiarism plugins.
$txt = get_strings(array('settings', 'name', 'version', 'delete'));
$plagiarismplugins = get_plugin_list('plagiarism');
if (empty($plagiarismplugins)) {
开发者ID:JP-Git,项目名称:moodle,代码行数:31,代码来源:plagiarism.php


示例12: uninstall

 /**
  * Uninstall a plugin.
  *
  * ## OPTIONS
  *
  * <plugin>...
  * : One or more plugins to uninstall.
  *
  * [--skip-delete]
  * : If set, the plugin files will not be deleted. Only the uninstall procedure
  * will be run.
  *
  * ## EXAMPLES
  *
  *     wp plugin uninstall hello
  */
 function uninstall($args, $assoc_args = array())
 {
     foreach ($this->fetcher->get_many($args) as $plugin) {
         if (is_plugin_active($plugin->file)) {
             WP_CLI::warning("The '{$plugin->name}' plugin is active.");
             continue;
         }
         uninstall_plugin($plugin->file);
         if (!isset($assoc_args['skip-delete']) && $this->_delete($plugin)) {
             WP_CLI::success("Uninstalled and deleted '{$plugin->name}' plugin.");
         } else {
             WP_CLI::success("Ran uninstall procedure for '{$plugin->name}' plugin without deleting.");
         }
     }
 }
开发者ID:adeagboola,项目名称:wordpress-to-jekyll-exporter,代码行数:31,代码来源:plugin.php


示例13: optional_param

$confirm = optional_param('confirm', '', PARAM_BOOL);
/// If data submitted, then process and store.
if (!empty($delete) and confirm_sesskey()) {
    echo $OUTPUT->header();
    echo $OUTPUT->heading(get_string('tools', 'admin'));
    if (!$confirm) {
        if (get_string_manager()->string_exists('pluginname', 'tool_' . $delete)) {
            $strpluginname = get_string('pluginname', 'tool_' . $delete);
        } else {
            $strpluginname = $delete;
        }
        echo $OUTPUT->confirm(get_string('toolsdeleteconfirm', 'admin', $strpluginname), new moodle_url($PAGE->url, array('delete' => $delete, 'confirm' => 1)), $PAGE->url);
        echo $OUTPUT->footer();
        die;
    } else {
        uninstall_plugin('tool', $delete);
        $a = new stdclass();
        $a->name = $delete;
        $pluginlocation = get_plugin_types();
        $a->directory = $pluginlocation['tool'] . '/' . $delete;
        echo $OUTPUT->notification(get_string('plugindeletefiles', '', $a), 'notifysuccess');
        echo $OUTPUT->continue_button($PAGE->url);
        echo $OUTPUT->footer();
        die;
    }
}
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('tools', 'admin'));
/// Print the table of all installed tool plugins
$table = new flexible_table('toolplugins_administration_table');
$table->define_columns(array('name', 'version', 'delete'));
开发者ID:JP-Git,项目名称:moodle,代码行数:31,代码来源:tools.php


示例14: uninstall

 /**
  * Uninstall a plugin.
  *
  * @synopsis <plugin> [--no-delete]
  */
 function uninstall($args, $assoc_args = array())
 {
     list($file, $name) = $this->parse_name($args);
     if (is_plugin_active($file)) {
         WP_CLI::error('The plugin is active.');
     }
     uninstall_plugin($file);
     if (!isset($assoc_args['no-delete'])) {
         $this->delete($args);
     }
 }
开发者ID:nunomorgadinho,项目名称:wp-cli,代码行数:16,代码来源:plugin.php


示例15: admin_page_plugins

/**
 * Plugins admin page
 *
 * @param App $a
 * @return string
 */
function admin_page_plugins(&$a)
{
    /*
     * Single plugin
     */
    if ($a->argc == 3) {
        $plugin = $a->argv[2];
        if (!is_file("addon/{$plugin}/{$plugin}.php")) {
            notice(t("Item not found."));
            return '';
        }
        if (x($_GET, "a") && $_GET['a'] == "t") {
            check_form_security_token_redirectOnErr('/admin/plugins', 'admin_plugins', 't');
            // Toggle plugin status
            $idx = array_search($plugin, $a->plugins);
            if ($idx !== false) {
                unset($a->plugins[$idx]);
                uninstall_plugin($plugin);
                info(sprintf(t("Plugin %s disabled."), $plugin));
            } else {
                $a->plugins[] = $plugin;
                install_plugin($plugin);
                info(sprintf(t("Plugin %s enabled."), $plugin));
            }
            set_config("system", "addon", implode(", ", $a->plugins));
            goaway($a->get_baseurl(true) . '/admin/plugins');
        }
        // display plugin details
        require_once 'library/markdown.php';
        if (in_array($plugin, $a->plugins)) {
            $status = 'on';
            $action = t('Disable');
        } else {
            $status = 'off';
            $action = t('Enable');
        }
        $readme = null;
        if (is_file("addon/{$plugin}/README.md")) {
            $readme = file_get_contents("addon/{$plugin}/README.md");
            $readme = Markdown($readme);
        } else {
            if (is_file("addon/{$plugin}/README")) {
                $readme = "<pre>" . file_get_contents("addon/{$plugin}/README") . "</pre>";
            }
        }
        $admin_form = '';
        if (is_array($a->plugins_admin) && in_array($plugin, $a->plugins_admin)) {
            @(require_once "addon/{$plugin}/{$plugin}.php");
            if (function_exists($plugin . '_plugin_admin')) {
                $func = $plugin . '_plugin_admin';
                $func($a, $admin_form);
            }
        }
        $t = get_markup_template('admin_plugins_details.tpl');
        return replace_macros($t, array('$title' => t('Administration'), '$page' => t('Plugins'), '$toggle' => t('Toggle'), '$settings' => t('Settings'), '$baseurl' => $a->get_baseurl(true), '$plugin' => $plugin, '$status' => $status, '$action' => $action, '$info' => get_plugin_info($plugin), '$str_author' => t('Author: '), '$str_maintainer' => t('Maintainer: '), '$admin_form' => $admin_form, '$function' => 'plugins', '$screenshot' => '', '$readme' => $readme, '$form_security_token' => get_form_security_token('admin_plugins')));
    }
    /*
     * List plugins
     */
    $plugins = array();
    $files = glob('addon/*/');
    if ($files) {
        foreach ($files as $file) {
            if (is_dir($file)) {
                list($tmp, $id) = array_map('trim', explode('/', $file));
                $info = get_plugin_info($id);
                $plugins[] = array($id, in_array($id, $a->plugins) ? "on" : "off", $info);
            }
        }
    }
    $t = get_markup_template('admin_plugins.tpl');
    return replace_macros($t, array('$title' => t('Administration'), '$page' => t('Plugins'), '$submit' => t('Submit'), '$baseurl' => $a->get_baseurl(true), '$function' => 'plugins', '$plugins' => $plugins, '$form_security_token' => get_form_security_token('admin_plugins')));
}
开发者ID:einervonvielen,项目名称:redmatrix,代码行数:79,代码来源:admin.php


示例16: admin_page_plugins

function admin_page_plugins(&$a)
{
    /**
     * Single plugin
     */
    if ($a->argc == 3) {
        $plugin = $a->argv[2];
        if (!is_file("addon/{$plugin}/{$plugin}.php")) {
            notice(t("Item not found."));
            return;
        }
        if (x($_GET, "a") && $_GET['a'] == "t") {
            // Toggle plugin status
            $idx = array_search($plugin, $a->plugins);
            if ($idx !== false) {
                unset($a->plugins[$idx]);
                uninstall_plugin($plugin);
                info(sprintf(t("Plugin %s disabled."), $plugin));
            } else {
                $a->plugins[] = $plugin;
                install_plugin($plugin);
                info(sprintf(t("Plugin %s enabled."), $plugin));
            }
            set_config("system", "addon", implode(", ", $a->plugins));
            goaway($a->get_baseurl() . '/admin/plugins');
            return;
            // NOTREACHED
        }
        // display plugin details
        require_once 'library/markdown.php';
        if (in_array($plugin, $a->plugins)) {
            $status = "on";
            $action = t("Disable");
        } else {
            $status = "off";
            $action = t("Enable");
        }
        $readme = Null;
        if (is_file("addon/{$plugin}/README.md")) {
            $readme = file_get_contents("addon/{$plugin}/README.md");
            $readme = Markdown($readme);
        } else {
            if (is_file("addon/{$plugin}/README")) {
                $readme = "<pre>" . file_get_contents("addon/{$plugin}/README") . "</pre>";
            }
        }
        $admin_form = "";
        if (is_array($a->plugins_admin) && in_array($plugin, $a->plugins_admin)) {
            @(require_once "addon/{$plugin}/{$plugin}.php");
            $func = $plugin . '_plugin_admin';
            $func($a, $admin_form);
        }
        $t = get_markup_template("admin_plugins_details.tpl");
        return replace_macros($t, array('$title' => t('Administration'), '$page' => t('Plugins'), '$toggle' => t('Toggle'), '$settings' => t('Settings'), '$baseurl' => $a->get_baseurl(), '$plugin' => $plugin, '$status' => $status, '$action' => $action, '$info' => get_plugin_info($plugin), '$admin_form' => $admin_form, '$readme' => $readme));
    }
    /**
     * List plugins
     */
    $plugins = array();
    $files = glob("addon/*/");
    if ($files) {
        foreach ($files as $file) {
            if (is_dir($file)) {
                list($tmp, $id) = array_map("trim", explode("/", $file));
                $info = get_plugin_info($id);
                $plugins[] = array($id, in_array($id, $a->plugins) ? "on" : "off", $info);
            }
        }
    }
    $t = get_markup_template("admin_plugins.tpl");
    return replace_macros($t, array('$title' => t('Administration'), '$page' => t('Plugins'), '$submit' => t('Submit'), '$baseurl' => $a->get_baseurl(), '$plugins' => $plugins));
}
开发者ID:ryivhnn,项目名称:friendica,代码行数:72,代码来源:admin.php


示例17: check_plugins

 function check_plugins(&$a)
 {
     /**
      *
      * Synchronise plugins:
      *
      * $a->config['system']['addon'] contains a comma-separated list of names
      * of plugins/addons which are used on this system.
      * Go through the database list of already installed addons, and if we have
      * an entry, but it isn't in the config list, call the uninstall procedure
      * and mark it uninstalled in the database (for now we'll remove it).
      * Then go through the config list and if we have a plugin that isn't installed,
      * call the install procedure and add it to the database.
      *
      */
     $r = q("SELECT * FROM `addon` WHERE `installed` = 1");
     if (count($r)) {
         $installed = $r;
     } else {
         $installed = array();
     }
     $plugins = get_config('system', 'addon');
     $plugins_arr = array();
     if ($plugins) {
         $plugins_arr = explode(',', str_replace(' ', '', $plugins));
     }
     $a->plugins = $plugins_arr;
     $installed_arr = array();
     if (count($installed)) {
         foreach ($installed as $i) {
             if (!in_array($i['name'], $plugins_arr)) {
                 uninstall_plugin($i['name']);
             } else {
                 $installed_arr[] = $i['name'];
             }
         }
     }
     if (count($plugins_arr)) {
         foreach ($plugins_arr as $p) {
             if (!in_array($p, $installed_arr)) {
                 install_plugin($p);
             }
         }
     }
     load_hooks();
     return;
 }
开发者ID:ridcully,项目名称:friendica,代码行数:47,代码来源:boot.php


示例18: moodle_url

        }
        $PAGE->set_title($strplugin);
        echo $OUTPUT->header();
        if (!$confirm) {
            echo $OUTPUT->heading(get_string('editors', 'core_editor'));
            $deleteurl = new moodle_url('/admin/editors.php', array('action' => 'uninstall', 'editor' => $editor, 'sesskey' => sesskey(), 'confirm' => 1));
            echo $OUTPUT->confirm(get_string('editordeleteconfirm', 'core_editor', $strplugin), $deleteurl, $returnurl);
            echo $OUTPUT->footer();
            die;
        } else {
            // Remove from enabled list.
            $key = array_search($editor, $active_editors);
            unset($active_editors[$key]);
            set_config('texteditors', implode(',', $active_editors));
            // Delete everything!!
            uninstall_plugin('editor', $editor);
            $a = new stdClass();
            $a->name = $strplugin;
            $a->directory = "{$CFG->dirroot}/lib/editor/{$editor}";
            echo $OUTPUT->notification(get_string('plugindeletefiles', '', $a), 'notifysuccess');
            echo $OUTPUT->continue_button($returnurl);
            echo $OUTPUT->footer();
            die;
        }
    default:
        break;
}
// at least one editor must be active
if (empty($active_editors)) {
    $active_editors = array('textarea');
}
开发者ID:Jtgadbois,项目名称:Pedadida,代码行数:31,代码来源:editors.php


示例19: nodeinfo_cron

function nodeinfo_cron()
{
    $a = get_app();
    // If the plugin "statistics_json" is enabled then disable it and actrivate nodeinfo.
    if (nodeinfo_plugin_enabled("statistics_json")) {
        set_config("system", "nodeinfo", true);
        $plugin = "statistics_json";
        $plugins = get_config("system", "addon");
        $plugins_arr = array();
        if ($plugins) {
            $plugins_arr = explode(",", str_replace(" ", "", $plugins));
            $idx = array_search($plugin, $plugins_arr);
            if ($idx !== false) {
                unset($plugins_arr[$idx]);
                uninstall_plugin($plugin);
                set_config("system", "addon", implode(", ", $plugins_arr));
            }
        }
    }
    if (!get_config("system", "nodeinfo")) {
        return;
    }
    $last = get_config('nodeinfo', 'last_calucation');
    if ($last) {
        // Calculate every 24 hours
        $next = $last + 24 * 60 * 60;
        if ($next > time()) {
            logger("calculation intervall not reached");
            return;
        }
    }
    logger("cron_start");
    $users = q("SELECT profile.*, `user`.`login_date`, `lastitem`.`lastitem_date`\n\t\t\tFROM (SELECT MAX(`item`.`changed`) as `lastitem_date`, `item`.`uid`\n\t\t\t\tFROM `item`\n\t\t\t\t\tWHERE `item`.`type` = 'wall'\n\t\t\t\t\t\tGROUP BY `item`.`uid`) AS `lastitem`\n\t\t\t\t\t\tRIGHT OUTER JOIN `user` ON `user`.`uid` = `lastitem`.`uid`, `contact`, `profile`\n                                WHERE\n\t\t\t\t\t`user`.`uid` = `contact`.`uid` AND `profile`.`uid` = `user`.`uid`\n\t\t\t\t\tAND `profile`.`is-default` AND (`profile`.`publish` OR `profile`.`net-publish`)\n\t\t\t\t\tAND `user`.`verified` AND `contact`.`self`\n\t\t\t\t\tAND NOT `user`.`blocked`\n\t\t\t\t\tAND NOT `user`.`account_removed`\n\t\t\t\t\tAND NOT `user`.`account_expired`");
    if (is_array($users)) {
        $total_users = count($users);
        $active_users_halfyear = 0;
        $active_users_monthly = 0;
        $halfyear = time() - 180 * 24 * 60 * 60;
        $month = time() - 30 * 24 * 60 * 60;
        foreach ($users as $user) {
            if (strtotime($user['login_date']) > $halfyear or strtotime($user['lastitem_date']) > $halfyear) {
                ++$active_users_halfyear;
   

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP uniord函数代码示例发布时间:2022-05-23
下一篇:
PHP unicode_ucfirst函数代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap