Листинг файлов:
templates/admin_viewplugins.tpl
PHP:
...
...
<div style='margin-top: 7px;'>
{if $plugins_installed[installed_loop].plugin_version_ready > $plugins_installed[installed_loop].plugin_version}
<a href='admin_viewplugins.php?install={$plugins_installed[installed_loop].plugin_type}'>{lang_print id=1111}</a> |
{elseif $plugins_installed[installed_loop].plugin_version_avail > $plugins_installed[installed_loop].plugin_version}
<a href='http://www.socialengine.net/login.php' target='_blank'>{lang_print id=1112}</a> |
{/if}
{if $plugins_installed[installed_loop].plugin_disabled}
<a href='admin_viewplugins.php?enable={$plugins_installed[installed_loop].plugin_type}'>{lang_print id=1200}</a>
{else}
<a href='admin_viewplugins.php?disable={$plugins_installed[installed_loop].plugin_type}'>{lang_print id=1201}</a>
{/if}
{* вот новая ссылка на удаление *}
<span style='float:right;'><a href='admin_delete_plugin.php'>{lang_print id=175</a</span>
</div>
</td>
</tr>
</table>
</li>
{/section}
</ul>
{include file='admin_footer.tpl'}
admin/admin_delete_plugin.php
PHP:
<?php
/* $Id: admin_faq.php 8 2009-01-11 06:02:53Z john $ */
$page = "admin_delete_plugin";
include "admin_header.php";
$task = ( isset($_POST['task']) ? $_POST['task'] : ( isset($_GET['task']) ? $_GET['task'] : NULL ) );
$order = ( isset($_POST['order']) ? $_POST['order'] : ( isset($_GET['order']) ? $_GET['order'] : NULL ) );
// GET INSTALLED PLUGINS
$plugins_installed = Array();
$plugin_types = Array();
$plugins = $database->database_query("SELECT * FROM se_plugins ORDER BY plugin_order ASC");
while($plugin_info = $database->database_fetch_assoc($plugins)) {
// CHECK FOR INSTALL FILE
$plugin_version_ready = "";
if(file_exists("./install_$plugin_info[plugin_type].php")) {
include "./install_$plugin_info[plugin_type].php";
$plugin_version_ready = $plugin_version;
}
// SET PLUGIN ARRAYS
$plugin_types[] = "install_$plugin_info[plugin_type].php";
$plugins_installed[] = Array('plugin_name' => $plugin_info[plugin_name],
'plugin_version' => $plugin_info[plugin_version],
'plugin_type' => $plugin_info[plugin_type],
'plugin_desc' => $plugin_info[plugin_desc],
'plugin_icon' => $plugin_info[plugin_icon],
'plugin_disabled' => $plugin_info[plugin_disabled],
'plugin_version_avail' => $versions[$plugin_info[plugin_type]],
'plugin_version_ready' => $plugin_version_ready);
}
// BEGIN READY-TO-INSTALL PLUGIN ARRAY
$plugins_ready = Array();
// FIND INSTALL FILES
if($dh = opendir("./")) {
while(($file = readdir($dh)) !== false) {
if($file != "." && $file != "..") {
if(strpos($file, "install_") === 0 && !in_array($file, $plugin_types)) {
include "./$file";
$plugins_ready[] = Array('plugin_name' => $plugin_name,
'plugin_version' => $plugin_version,
'plugin_type' => $plugin_type,
'plugin_desc' => $plugin_desc,
'plugin_icon' => $plugin_icon);
}
}
}
closedir($dh);
}
// ASSIGN VARIABLES AND SHOW ADMIN VIEW PLUGINS PAGE
$smarty->assign('plugins_ready', $plugins_ready);
$smarty->assign('plugins_installed', $plugins_installed);
$smarty->assign('versions', $versions);
include "admin_footer.php";
?>
templates/admin_delete_plugin.tpl
PHP:
{include file='admin_header.tpl'}
{* $Id: admin_chat.tpl 6 2009-01-11 06:01:29Z john $ *}
<h2>Удаление плагинов</h2>
Эти плагины установлены у Вас на сайте и могут быть удалены. Если Вы не уверены нажмите <b>"Назад"</b>.<br />
При удалении плагина очищается только БД от следов плагина. Файлы надо будет удалять вручную.
<br />
<br />
{* LIST INSTALLED PLUGINS *}
<ul style="list-style:none; padding: 0; margin: 0;" id="SEPluginsList">
{section name=installed_loop loop=$plugins_installed}
<li id="SEPluginList_{$plugins_installed[installed_loop].plugin_type}">
<table width='100%' cellpadding='0' cellspacing='0' class='stats' style='margin-bottom: 10px;'>
<tr>
<td class='plugin'>
<table cellpadding='0' cellspacing='0' width="100%">
<tr>
<td width="20"><img src='../images/icons/{$plugins_installed[installed_loop].plugin_icon|default:"admin_plugins16.gif"}' border='0' class='icon2'></td>
<td class='plugin_name'>{$plugins_installed[installed_loop].plugin_name} v{$plugins_installed[installed_loop].plugin_version}</td>
<td align="right">
<a href='admin_viewplugins.php'>{lang_print id=487}</a> <img src="../images/icons/back16.gif" />
<a href='/delete_{$plugins_installed[installed_loop].plugin_type}.php'>{lang_print id=175}</a> <img src="../images/icons/action_delete2.gif" />
</td>
</tr>
</table>
</td>
</tr>
</table>
</li>
{/section}
{include file='admin_footer.tpl'}
Походу надо в "Удаляльных" файлах проверку делать, может вместо include "header.php"; надо include "admin_header.php"; вот листинг delete_radcodes.php для удаления radcodes:
PHP:
<?php
include "header.php";
$plugin_type = "radcodes";
$query = mysql_query("DELETE FROM se_plugins WHERE plugin_type='$plugin_type'");
if ($query) {
echo "Данные из se_plugins удалены<br>";
} else {
echo "Ошибка удаления данных из se_plugins: ".mysql_error()."<br>";
}
$query = mysql_query("DELETE FROM se_languagevars WHERE
languagevar_id='11000001'
OR languagevar_id='11000002'
OR languagevar_id='11000003'
OR languagevar_id='11000004'
OR languagevar_id='11000005'
OR languagevar_id='11000006'
OR languagevar_id='11000007'
OR languagevar_id='11000008'
OR languagevar_id='11000009'
OR languagevar_id='11000010'
OR languagevar_id='11000011'
OR languagevar_id='11000012'
OR languagevar_id='11000013'
OR languagevar_id='11000014'
OR languagevar_id='11000015'
OR languagevar_id='11000016'
OR languagevar_id='11000017'
");
if ($query) {
echo "Данные из se_languagevars удалены<br>";
} else {
echo "Ошибка удаления данных из se_languagevars: ".mysql_error()."<br>";
}
$query = mysql_query("DROP TABLE rc_geocache");
if ($query) {
echo "Таблица rc_geocache удалена<br>";
} else {
echo "Ошибка удаления таблицы rc_geocache: ".mysql_error()."<br>";
}
$query = mysql_query("ALTER TABLE se_settings DROP setting_radcodes_remote_type, DROP setting_radcodes_google_map_api;");
if ($query) {
echo "Поля из se_settings удалены<br>";
} else {
echo "Ошибка удаления полей из se_settings: ".mysql_error()."<br>";
}
?>