function display_plugin_list() { global $CPG_PLUGINS, $lang_pluginmgr_php, $lang_plugin_php, $lang_common, $CONFIG, $CPG_PHP_SELF; $help = ' ' . cpg_display_help('f=plugins.htm&as=plugin_manager&ae=plugin_manager_end&top=1', '800', '600'); $help_plugin_enable = cpg_display_help('f=configuration.htm&as=admin_general_enable-plugins&ae=admin_general_enable-plugins_end', 400, 300); // configure plugin api (enabled or disabled) $yes_selected = $CONFIG['enable_plugins'] ? 'checked="checked"' : ''; $no_selected = !$CONFIG['enable_plugins'] ? 'checked="checked"' : ''; print '<form name="pluginenableconfig" id="cpgform2" action="' . $CPG_PHP_SELF . '" method="post" style="margin:0px;padding:0px">'; starttable('-1', $lang_pluginmgr_php['pmgr'] . $help, 3); echo <<<EOT <tr> <td class="tableh2" colspan="3"> {$lang_pluginmgr_php['explanation']} </td> </tr> <tr> <td class="tableb"> {$lang_pluginmgr_php['plugin_enabled']} </td> <td class="table"> <input type="radio" id="enable_plugins1" name="enable_plugins" value="1" onclick="document.pluginenableconfig.submit();" {$yes_selected} /><label for="enable_plugins1" class="clickable_option">{$lang_common['yes']}</label> <input type="radio" id="enable_plugins0" name="enable_plugins" value="0" onclick="document.pluginenableconfig.submit();" {$no_selected} /><label for="enable_plugins0" class="clickable_option">{$lang_common['no']}</label> <input type="hidden" name="update_config" value="1" /> </td> <td class="tableb"> {$help_plugin_enable} </td> </tr> EOT; endtable(); print '</form>'; echo <<<EOT <br /> EOT; $help = ' ' . cpg_display_help('f=plugins.htm&as=plugin_manager_uninstall&ae=plugin_manager_uninstall_end&top=1', '640', '480'); $available_plugins = cpg_get_dir_list('./plugins/'); starttable('100%'); echo <<<EOT <tr> <td class="tableh1" width="90%"><strong><span class="statlink">{$lang_pluginmgr_php['i_plugins']}</span></strong></td> <td colspan="3" class="tableh1" align="center" width="10%"><strong><span class="statlink">{$lang_pluginmgr_php['operation']}</span></strong>{$help}</td> </tr> EOT; $installed_count = 0; $loop_counter = 0; foreach ($CPG_PLUGINS as $thisplugin) { $installed_count++; unset($extra_info); unset($install_info); include './plugins/' . $thisplugin->path . '/configuration.php'; $pluginPath = $thisplugin->path; $safename = addslashes(str_replace(' ', '', $name)); if (isset($extra_info) == TRUE) { $extra = $extra_info; } else { $extra = ''; } if (sizeof($thisplugin->error) > 0) { $error = $thisplugin->error['desc']; $extra = '<tr><td class="tableb" width="100%" colspan="2">' . '<strong>' . $lang_common['error'] . ':</strong> <span style="color:red;">' . $error . '</span>' . '</td></tr>' . $extra; } if ($loop_counter == 0) { $row_style_class = 'tableb'; } else { $row_style_class = 'tableb tableb_alternate'; } $loop_counter++; if ($loop_counter > 1) { $loop_counter = 0; } echo <<<EOT <tr> <td width="90%" class="{$row_style_class}"> <table border="0" width="100%" cellspacing="0" cellpadding="0" class="maintable"> <tr> <td colspan="2" class="tableh1">{$name} ({$pluginPath}): {$lang_pluginmgr_php['vers']}{$version}</td> </tr> <tr> <td class="tableb" width="20%" valign="top">{$lang_pluginmgr_php['extra']}:</td> <td class="tableb" valign="top">{$extra}</td> </tr> <tr> <td class="tableb tableb_alternate" valign="top">{$lang_pluginmgr_php['author']}:</td> <td class="tableb tableb_alternate" valign="top">{$author}</td> </tr> <tr> <td class="tableb" valign="top">{$lang_pluginmgr_php['desc']}</td> <td class="tableb" valign="top">{$description}</td> </tr> </table> </td> <td class="{$row_style_class}" valign="top"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> EOT; if ($thisplugin->index > 0 && count($CPG_PLUGINS) > 1) { echo <<<EOT <td width="3%" align="center" valign="middle"> <a href="pluginmgr.php?op=moveu&p={$thisplugin->plugin_id}"><img src="images/up.gif" border="0" alt="" /></a> </td> EOT; } else { echo '<td width="3%"><img src="images/spacer.gif" width="16" height="16" /></td>'; } if ($thisplugin->index < count($CPG_PLUGINS) - 1) { echo <<<EOT <td width="3%" align="center" valign="middle"> <a href="pluginmgr.php?op=moved&p={$thisplugin->plugin_id}"><img src="images/down.gif" border="0" alt="" /></a> </td> EOT; } else { echo '<td width="3%"><img src="images/spacer.gif" width="16" height="16" /></td>'; } echo <<<EOT <td width="3%" align="center" valign="middle"> <a href="pluginmgr.php?op=uninstall&p={$thisplugin->plugin_id}" onClick="return confirmUninstall('{$safename}')"> <img src="images/delete.gif" border="0" alt="" /> </a> </td> </tr> </table> </td> </tr> EOT; } if ($installed_count == 0) { echo '<tr><td colspan="4" class="tableb" align="center">' . $lang_pluginmgr_php['none_installed'] . '</td></tr>'; } endtable(); echo '<p> </p>'; echo '<form name="cpgform" id="cpgform" action="pluginmgr.php?op=upload" method="post" enctype="multipart/form-data">'; $help_upload = ' ' . cpg_display_help('f=plugins.htm&as=plugin_manager_upload&ae=plugin_manager_upload_end&top=1', '640', '480'); $help_install = ' ' . cpg_display_help('f=plugins.htm&as=plugin_manager_install&ae=plugin_manager_install_end&top=1', '640', '480'); starttable('100%'); echo <<<EOT <tr> <td class="tableh1" width="90%"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td align="left"> <strong><span class="statlink">{$lang_pluginmgr_php['n_plugins']}</span></strong>{$help_install} </td> <td align="right"> <input type="file" size="40" name="plugin" class="textinput" /> <input type="submit" class="button" value="{$lang_pluginmgr_php['upload']}" /> {$help_upload} </td> </tr> </table> </td> <td colspan="3" class="tableh1" align="center" width="10%"><strong><span class="statlink">{$lang_pluginmgr_php['operation']}</span></strong></td> </tr> EOT; $loop_counter = 0; foreach ($available_plugins as $path) { if (($plugin_id = CPGPluginAPI::installed($path)) === false) { // If codebase.php and configuration.php don't exist, skip this folder if (!(file_exists('./plugins/' . $path . '/codebase.php') && file_exists('./plugins/' . $path . '/configuration.php'))) { continue; } unset($extra_info); unset($install_info); include './plugins/' . $path . '/configuration.php'; $pluginPath = $path; $safename = addslashes(str_replace(' ', '', $name)); if (isset($install_info) == TRUE) { $extra = $install_info; } else { $extra = ''; } if ($loop_counter == 0) { $row_style_class = 'tableb'; } else { $row_style_class = 'tableb tableb_alternate'; } $loop_counter++; if ($loop_counter > 1) { $loop_counter = 0; } echo <<<EOT <tr> <td width="90%" class="{$row_style_class}"> <table border="0" width="100%" cellspacing="0" cellpadding="0" class="maintable"> <tr> <td colspan="2" class="tableh1">{$name} ({$pluginPath}): {$lang_pluginmgr_php['vers']}{$version}</td> </tr> <tr> <td class="tableb tableb_alternate" width="20%" valign="top">{$lang_pluginmgr_php['author']}:</td> <td class="tableb tableb_alternate" valign="top">{$author}</td> </tr> <tr> <td class="tableb" valign="top">{$lang_pluginmgr_php['desc']}:</td> <td class="tableb" valign="top">{$description}</td> </tr> EOT; if ($extra != '') { echo <<<EOT <tr> <td class="tableb tableb_alternate" width="20%" valign="top">{$lang_pluginmgr_php['install_info']}:</td> <td class="tableb tableb_alternate" valign="top">{$extra}</td> </tr> EOT; } echo <<<EOT </table> </td> <td class="{$row_style_class}" valign="top"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="5%" align="center" valign="top"> <img src="images/spacer.gif" width="16" height="16" /> </td> <td width="5%" align="center" valign="top"> <a href="pluginmgr.php?op=install&p={$path}"><img src="images/info.gif" border="0" alt="" /></a> </td> <td width="5%" align="center" valign="top"> <a href="pluginmgr.php?op=delete&p={$path}" onClick="return confirmDel('{$safename}')"> <img src="images/delete.gif" border="0" alt="" /> </a> </td> </tr> </table> </td> </tr> EOT; } } echo '</form>'; endtable(); }
function display_plugin_list() { global $CPG_PLUGINS, $lang_pluginmgr_php, $lang_plugin_php, $lang_common, $CONFIG, $CPG_PHP_SELF; list($timestamp, $form_token) = getFormToken(); $help = ' ' . cpg_display_help('f=plugins.htm&as=plugin_manager&ae=plugin_manager_end&top=1', '800', '600'); $help_plugin_enable = cpg_display_help('f=configuration.htm&as=admin_general_enable-plugins&ae=admin_general_enable-plugins_end', 400, 300); // configure plugin api (enabled or disabled) $yes_selected = $CONFIG['enable_plugins'] ? 'checked="checked"' : ''; $no_selected = !$CONFIG['enable_plugins'] ? 'checked="checked"' : ''; print '<form name="pluginenableconfig" id="cpgform2" action="' . $CPG_PHP_SELF . '" method="post" style="margin:0px;padding:0px">'; starttable('-1', cpg_fetch_icon('plugin_mgr', 2) . $lang_pluginmgr_php['pmgr'] . $help, 3); echo <<<EOT <tr> <td class="tableh2" colspan="3"> {$lang_pluginmgr_php['explanation']} </td> </tr> <tr> <td class="tableb"> {$lang_pluginmgr_php['plugin_enabled']} </td> <td class="tableb"> <input type="radio" id="enable_plugins1" name="enable_plugins" value="1" onclick="document.pluginenableconfig.submit();" {$yes_selected} class="radio" /><label for="enable_plugins1" class="clickable_option">{$lang_common['yes']}</label> <input type="radio" id="enable_plugins0" name="enable_plugins" value="0" onclick="document.pluginenableconfig.submit();" {$no_selected} class="radio" /><label for="enable_plugins0" class="clickable_option">{$lang_common['no']}</label> <input type="hidden" name="update_config" value="1" /> <input type="hidden" name="form_token" value="{$form_token}" /> <input type="hidden" name="timestamp" value="{$timestamp}" /> </td> <td class="tableb"> {$help_plugin_enable} </td> </tr> EOT; endtable(); print '</form>'; echo <<<EOT <br /> EOT; $help = ' ' . cpg_display_help('f=plugins.htm&as=plugin_manager_uninstall&ae=plugin_manager_uninstall_end&top=1', '640', '480'); $available_plugins = cpg_get_dir_list('./plugins/'); starttable('100%'); echo <<<EOT <tr> <td class="tableh1" width="90%"><strong><span class="statlink">{$lang_pluginmgr_php['i_plugins']}</span></strong></td> <td colspan="3" class="tableh1" align="center" width="10%"><strong><span class="statlink">{$lang_pluginmgr_php['operation']}</span></strong>{$help}</td> </tr> EOT; unset($installed_plugins); if ($CONFIG['enable_plugins'] == 1) { $loop_counter = 0; foreach ($CPG_PLUGINS as $thisplugin) { $installed_plugins[$loop_counter] = array('index' => $thisplugin->index, 'plugin_id' => $thisplugin->plugin_id, 'path' => $thisplugin->path, 'priority' => $thisplugin->priority, 'error' => $thisplugin->error); $loop_counter++; } } else { // If plugin system is turned off, grab installed plugins from database table $query = 'SELECT * FROM ' . $CONFIG['TABLE_PLUGINS'] . ' ORDER BY priority ASC;'; $result = cpg_db_query($query); $loop_counter = 0; while ($installed_plugin = mysql_fetch_assoc($result)) { $installed_plugins[$loop_counter] = array('index' => $loop_counter, 'plugin_id' => $installed_plugin['plugin_id'], 'path' => $installed_plugin['path'], 'priority' => $installed_plugin['priority'], 'error' => array()); $loop_counter++; } } $installed_count = 0; $loop_counter = 0; if (isset($installed_plugins) == TRUE) { $plugins_count = count($installed_plugins); foreach ($installed_plugins as $thisplugin) { $installed_count++; unset($extra_info); unset($install_info); include './plugins/' . $thisplugin['path'] . '/configuration.php'; $pluginPath = $thisplugin['path']; $safename = addslashes(str_replace(' ', '', $name)); if (isset($extra_info) == TRUE) { $extra = $extra_info; } else { $extra = ''; } if (sizeof($thisplugin['error']) > 0) { $error = $thisplugin['error']['desc']; $extra = '<tr><td class="tableb" width="100%" colspan="2">' . '<strong>' . $lang_common['error'] . ':</strong> <span style="color:red;">' . $error . '</span>' . '</td></tr>' . $extra; } if ($loop_counter == 0) { $row_style_class = 'tableb'; } else { $row_style_class = 'tableb tableb_alternate'; } $loop_counter++; if ($loop_counter > 1) { $loop_counter = 0; } echo <<<EOT <tr> <td width="90%" class="{$row_style_class}"> <a name="{$pluginPath}"></a> <table border="0" width="100%" cellspacing="0" cellpadding="0" class="maintable"> <tr> <td colspan="2" class="tableh1">{$name} ({$pluginPath}): {$lang_pluginmgr_php['vers']}{$version}</td> </tr> <tr> <td class="tableb" valign="top">{$lang_pluginmgr_php['author']}:</td> <td class="tableb" valign="top">{$author}</td> </tr> <tr> <td class="tableb tableb_alternate" valign="top">{$lang_pluginmgr_php['desc']}</td> <td class="tableb tableb_alternate" valign="top">{$description}</td> </tr> EOT; if ($extra != '') { echo <<<EOT <tr> <td class="tableb" width="20%" valign="top">{$lang_pluginmgr_php['extra']}:</td> <td class="tableb" valign="top">{$extra}</td> </tr> EOT; } echo <<<EOT </table> </td> <td class="{$row_style_class}" valign="top"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> EOT; if ($thisplugin['index'] > 0 && $plugins_count > 1) { $up = cpg_fetch_icon('up', 0); echo <<<EOT <td width="3%" align="center" valign="middle"> <a href="pluginmgr.php?op=moveu&p={$thisplugin['plugin_id']}&form_token={$form_token}&timestamp={$timestamp}#{$pluginPath}">{$up}</a> </td> EOT; } else { echo '<td width="3%"></td>'; } if ($thisplugin['index'] < $plugins_count - 1) { $down = cpg_fetch_icon('down', 0); echo <<<EOT <td width="3%" align="center" valign="middle"> <a href="pluginmgr.php?op=moved&p={$thisplugin['plugin_id']}&form_token={$form_token}&timestamp={$timestamp}#{$pluginPath}">{$down}</a> </td> EOT; } else { echo '<td width="3%"></td>'; } $confirm_function = $CONFIG['enable_plugins'] == 1 ? 'confirmUninstall' : 'confirmRemove'; $delete = cpg_fetch_icon('plugin_uninstall', 0); echo <<<EOT <td width="3%" align="center" valign="middle"> <a href="pluginmgr.php?op=uninstall&p={$thisplugin['plugin_id']}&form_token={$form_token}&timestamp={$timestamp}" onclick="return {$confirm_function}('{$safename}')" title="{$lang_pluginmgr_php['uninstall']}"> {$delete} </a> </td> </tr> </table> </td> </tr> EOT; } } if ($installed_count == 0) { echo '<tr><td colspan="4" class="tableb" align="center">' . $lang_pluginmgr_php['none_installed'] . '</td></tr>'; } endtable(); echo '<p> </p>'; echo '<form name="cpgform" id="cpgform" action="pluginmgr.php?op=upload" method="post" enctype="multipart/form-data">'; $help_upload = ' ' . cpg_display_help('f=plugins.htm&as=plugin_manager_upload&ae=plugin_manager_upload_end&top=1', '640', '480'); $help_install = ' ' . cpg_display_help('f=plugins.htm&as=plugin_manager_install&ae=plugin_manager_install_end&top=1', '640', '480'); starttable('100%'); echo <<<EOT <tr> <td class="tableh1" width="90%"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td align="left"> <strong><span class="statlink">{$lang_pluginmgr_php['n_plugins']}</span></strong>{$help_install} </td> <td align="right"> <input type="file" size="40" name="plugin" class="textinput" /> <input type="hidden" name="form_token" value="{$form_token}" /> <input type="hidden" name="timestamp" value="{$timestamp}" /> <input type="submit" class="button" value="{$lang_pluginmgr_php['upload']}" /> {$help_upload} </td> </tr> </table> </td> <td colspan="3" class="tableh1" align="center" width="10%"><strong><span class="statlink">{$lang_pluginmgr_php['operation']}</span></strong></td> </tr> EOT; $loop_counter = 0; // Note: CPGPluginAPI::installed() works even if Plugin API is disabled. foreach ($available_plugins as $path) { if (($plugin_id = CPGPluginAPI::installed($path)) === false) { // If codebase.php and configuration.php don't exist, skip this folder if (!(file_exists('./plugins/' . $path . '/codebase.php') && file_exists('./plugins/' . $path . '/configuration.php'))) { continue; } unset($extra_info); unset($install_info); include './plugins/' . $path . '/configuration.php'; $pluginPath = $path; $safename = addslashes(str_replace(' ', '', $name)); if (isset($install_info) == TRUE) { $extra = $install_info; } else { $extra = ''; } if ($loop_counter == 0) { $row_style_class = 'tableb'; } else { $row_style_class = 'tableb tableb_alternate'; } $loop_counter++; if ($loop_counter > 1) { $loop_counter = 0; } echo <<<EOT <tr> <td width="90%" class="{$row_style_class}"> <table border="0" width="100%" cellspacing="0" cellpadding="0" class="maintable"> <tr> <td colspan="2" class="tableh1">{$name} ({$pluginPath}): {$lang_pluginmgr_php['vers']}{$version}</td> </tr> <tr> <td class="tableb tableb_alternate" width="20%" valign="top">{$lang_pluginmgr_php['author']}:</td> <td class="tableb tableb_alternate" valign="top">{$author}</td> </tr> <tr> <td class="tableb" valign="top">{$lang_pluginmgr_php['desc']}:</td> <td class="tableb" valign="top">{$description}</td> </tr> EOT; if ($extra != '') { echo <<<EOT <tr> <td class="tableb tableb_alternate" width="20%" valign="top">{$lang_pluginmgr_php['install_info']}:</td> <td class="tableb tableb_alternate" valign="top">{$extra}</td> </tr> EOT; } // Take care of version requirements if (isset($plugin_cpg_version['min']) == TRUE) { if (version_compare(COPPERMINE_VERSION, $plugin_cpg_version['min']) >= 0) { $plugin_cpg_version['min_ok'] = '1'; } else { $plugin_cpg_version['min_ok'] = '-1'; } } else { $plugin_cpg_version['min_ok'] = '0'; } if (isset($plugin_cpg_version['max']) == TRUE) { if (version_compare(COPPERMINE_VERSION, $plugin_cpg_version['max']) <= 0) { $plugin_cpg_version['max_ok'] = '1'; } else { $plugin_cpg_version['max_ok'] = '-1'; } } else { $plugin_cpg_version['max_ok'] = '0'; } if ($CONFIG['enable_plugins'] == 1) { if ($plugin_cpg_version['min_ok'] > 0 && $plugin_cpg_version['max_ok'] >= 0) { $install_button = '<a href="pluginmgr.php?op=install&p=' . $path . '&form_token=' . $form_token . '&timestamp=' . $timestamp . '" title="' . $lang_pluginmgr_php['install'] . '">' . cpg_fetch_icon('plugin_install', 0) . '</a>'; } elseif ($plugin_cpg_version['min_ok'] < 0 || $plugin_cpg_version['max_ok'] < 0) { if (isset($lang_pluginmgr_php['minimum_requirements_not_met']) != TRUE) { $lang_pluginmgr_php['minimum_requirements_not_met'] = 'Minimum requirements not met'; } $install_button = '<span title="' . $lang_pluginmgr_php['minimum_requirements_not_met'] . '">' . cpg_fetch_icon('cancel', 0) . '</span>'; } else { $install_button = '<a href="pluginmgr.php?op=install&p=' . $path . '&form_token=' . $form_token . '&timestamp=' . $timestamp . '" onclick="return confirmVersionMissing(\'' . $safename . '\')" title="' . $lang_pluginmgr_php['install'] . '" >' . cpg_fetch_icon('plugin_mgr', 0) . '</a>'; } } else { $install_button = cpg_fetch_icon('blank', 0); } unset($plugin_cpg_version); $delete = cpg_fetch_icon('delete', 0); echo <<<EOT </table> </td> <td class="{$row_style_class}" valign="top"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="5%" align="center" valign="top"> </td> <td width="5%" align="center" valign="top"> {$install_button} </td> <td width="5%" align="center" valign="top"> <a href="pluginmgr.php?op=delete&p={$path}&form_token={$form_token}&timestamp={$timestamp}" onclick="return confirmDel('{$safename}')" title="{$lang_common['delete']}"> {$delete} </a> </td> </tr> </table> </td> </tr> EOT; } } endtable(); echo '</form>'; }
function display_plugin_list() { global $CPG_PLUGINS, $lang_pluginmgr_php; $available_plugins = cpg_get_dir_list('./plugins/'); starttable('100%'); echo <<<EOT <tr> <td class="tableh1" width="90%"><b><span class="statlink">{$lang_pluginmgr_php['i_plugins']}</span></b></td> <td colspan="3" class="tableh1" align="center" width="10%"><b><span class="statlink">{$lang_pluginmgr_php['operation']}</span></b></td> </tr> EOT; $installed_count = 0; foreach ($CPG_PLUGINS as $thisplugin) { $installed_count++; unset($extra_info); unset($install_info); include './plugins/' . $thisplugin->path . '/configuration.php'; $safename = addslashes(str_replace(' ', '', $name)); $extra = isset($install_info) ? $install_info : null; if (sizeof($thisplugin->error) > 0) { $error = $thisplugin->error['desc']; $extra = '<tr><td class="tableb" width="100%" colspan="2">' . '<b>Error:</b> <span style="color:red;">' . $error . '</span>' . '</td></tr>' . $extra; } echo <<<EOT <tr> <td width="90%"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="tableh2" width="50%"><b>{$lang_pluginmgr_php['name']}</b> {$name} {$lang_pluginmgr_php['vers']}{$version}</td> <td class="tableh2" width="50%">{$extra}</td> </tr> <tr> <td class="tableb" colspan="2" width="100%"><b>{$lang_pluginmgr_php['author']}</b> {$author}</td> </tr> <tr> <td class="tableb" colspan="2" width="100%"><b>{$lang_pluginmgr_php['desc']}</b> {$description}</td> </tr> </table> </td> <td class="tableh1" valign="top"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> EOT; if ($thisplugin->index > 0 && count($CPG_PLUGINS) > 1) { echo <<<EOT <td width="3%" align="center" valign="middle"> <a href="pluginmgr.php?op=moveu&p={$thisplugin->plugin_id}"><img src="images/up.gif" border="0" alt="" /></a> </td> EOT; } else { echo '<td width="3%"><img src="images/spacer.gif" width="16" height="16" /></td>'; } if ($thisplugin->index < count($CPG_PLUGINS) - 1) { echo <<<EOT <td width="3%" align="center" valign="middle"> <a href="pluginmgr.php?op=moved&p={$thisplugin->plugin_id}"><img src="images/down.gif" border="0" alt="" /></a> </td> EOT; } else { echo '<td width="3%"><img src="images/spacer.gif" width="16" height="16" /></td>'; } echo <<<EOT <td width="3%" align="center" valign="middle"> <a href="pluginmgr.php?op=uninstall&p={$thisplugin->plugin_id}" onClick="return confirmUninstall('{$safename}')"> <img src="images/delete.gif" border="0" alt="" /> </a> </td> </tr> </table> </td> </tr> EOT; } if ($installed_count == 0) { echo '<tr><td colspan="4" class="tableb" align="center">' . $lang_pluginmgr_php['none_installed'] . '</td></tr>'; } endtable(); echo '<p> </p>'; echo '<form action="pluginmgr.php?op=upload" method="post" enctype="multipart/form-data">'; starttable('100%'); echo <<<EOT <tr> <td class="tableh1" width="90%"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td align="left"> <b><span class="statlink">{$lang_pluginmgr_php['n_plugins']}</span></b> </td> <td align="right"> <input type="file" size="40" name="plugin" /> <input type="submit" style="font-size: 12;" value="{$lang_pluginmgr_php['upload']}" /> </td> </tr> </table> </td> <td colspan="3" class="tableh1" align="center" width="10%"><b><span class="statlink">{$lang_pluginmgr_php['operation']}</span></b></td> </tr> EOT; foreach ($available_plugins as $path) { if (($plugin_id = CPGPluginAPI::installed($path)) === false) { // If codebase.php and configuration.php don't exist, skip this folder if (!(file_exists('./plugins/' . $path . '/codebase.php') && file_exists('./plugins/' . $path . '/configuration.php'))) { continue; } unset($extra_info); unset($install_info); include './plugins/' . $path . '/configuration.php'; $safename = addslashes(str_replace(' ', '', $name)); $extra = isset($extra_info) ? $extra_info : null; echo <<<EOT <tr> <td width="90%"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="tableh2" width="50%"><b>{$lang_pluginmgr_php['name']}</b> {$name} {$lang_pluginmgr_php['vers']}{$version}</td> <td class="tableh2">{$extra}</td> </tr> <tr> <td class="tableb" width="50%" colspan="2"><b>{$lang_pluginmgr_php['author']}</b> {$author}</td> </tr> <tr> <td class="tableb" width="50%" colspan="2"><b>{$lang_pluginmgr_php['desc']}</b> {$description}</td> </tr> </table> </td> <td class="tableh1" valign="top"> <table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="5%" align="center" valign="top"> <img src="images/spacer.gif" width="16" height="16" /> </td> <td width="5%" align="center" valign="top"> <a href="pluginmgr.php?op=install&p={$path}"><img src="images/info.gif" border="0" alt="" /></a> </td> <td width="5%" align="center" valign="top"> <a href="pluginmgr.php?op=delete&p={$path}" onClick="return confirmDel('{$safename}')"> <img src="images/delete.gif" border="0" alt="" /> </a> </td> </tr> </table> </td> </tr> EOT; } } echo '</form>'; endtable(); }