} elseif (stristr($entry['name'], "start.php") && substr_count($entry['name'], "/") == 1) { $start = true; } } if (!$manifest) { register_error(elgg_echo('plugin_installer:upload:error:nomanifest')); } elseif (!$start) { register_error(elgg_echo('plugin_installer:upload:error:nostart')); } else { if (!file_exists($CONFIG->pluginspath . $plugin_name) || $overwrite) { $extract = $zip->extractTo($CONFIG->pluginspath); $zip->close(); if ($extract === TRUE && file_exists($CONFIG->pluginspath . $plugin_name)) { disable_plugin($plugin_name); enable_plugin($plugin_name); regenerate_plugin_list(); system_message(elgg_echo('plugin_installer:upload:success')); } else { register_error(elgg_echo('plugin_installer:upload:error:unzip')); } } else { register_error(elgg_echo('plugin_installer:upload:error:pluginexists')); } } } else { register_error(elgg_echo('plugin_installer:upload:error')); } $filehandler->delete(); } else { register_error(elgg_echo('plugin_installer:upload:missing')); }
* @subpackage Core * @author Curverider Ltd * @link http://elgg.org/ */ // block non-admin users admin_gatekeeper(); // Get the plugin $mod = get_input('plugin'); $mod = str_replace('.', '', $mod); $mod = str_replace('/', '', $mod); // Get the new order $order = (int) get_input('order'); // Get the current plugin list $plugins = get_plugin_list(); // Inject the plugin order back into the list if ($key = array_search($mod, $plugins)) { unset($plugins[$key]); while (isset($plugins[$order])) { $order++; } $plugins[$order] = $mod; } // Disable if (regenerate_plugin_list($plugins)) { system_message(sprintf(elgg_echo('admin:plugins:reorder:yes'), $plugin)); } else { register_error(sprintf(elgg_echo('admin:plugins:reorder:no'), $plugin)); } elgg_view_regenerate_simplecache(); elgg_filepath_cache_reset(); forward($_SERVER['HTTP_REFERER']);