aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--admin.php81
-rw-r--r--admin/advanced_feature.php63
-rw-r--r--admin/include/functions_notification_by_mail.inc.php3
-rw-r--r--admin/plugins.php10
-rw-r--r--admin/site_manager.php18
5 files changed, 154 insertions, 21 deletions
diff --git a/admin.php b/admin.php
index a7830ba9c..b5165257d 100644
--- a/admin.php
+++ b/admin.php
@@ -54,15 +54,66 @@ check_conf();
// | variables init |
// +-----------------------------------------------------------------------+
-if (isset($_GET['page'])
+unset($page['page']);
+
+if
+ (
+ isset($_GET['page'])
and preg_match('/^[a-z_]*$/', $_GET['page'])
- and is_file(PHPWG_ROOT_PATH.'admin/'.$_GET['page'].'.php'))
+ )
{
- $page['page'] = $_GET['page'];
+ if
+ (
+ (!isset($_GET['page_type']) or $_GET['page_type'] == 'standard')
+ and is_file(PHPWG_ROOT_PATH.'admin/'.$_GET['page'].'.php')
+ )
+ {
+ $page['page']['type'] = 'standard';
+ $page['page']['name'] = $_GET['page'];
+ }
+ else if
+ (
+ (isset($_GET['page_type']) and $_GET['page_type'] == 'plugin')
+ and isset($_GET['plugin_id'])
+ and preg_match('/^[a-z_]*$/', $_GET['plugin_id'])
+ and is_file(PHPWG_PLUGINS_PATH.$_GET['plugin_id'].'/admin/'.$_GET['page'].'.php')
+ )
+ {
+ if (function_exists('mysql_real_escape_string'))
+ {
+ $page['page']['plugin_id'] = mysql_real_escape_string($_GET['plugin_id']);
+ }
+ else
+ {
+ $page['page']['plugin_id'] = mysql_escape_string($_GET['plugin_id']);
+ }
+
+ $check_db_plugin = get_db_plugins('', $page['page']['plugin_id']);
+ if (!empty($check_db_plugin))
+ {
+ $page['page']['type'] = $_GET['page_type'];
+ $page['page']['name'] = $_GET['page'];
+ }
+ else
+ {
+ unset($page['page']);
+ }
+ unset($check_db_plugin);
+ }
}
-else
+
+if (!isset($page['page']))
{
- $page['page'] = 'intro';
+ if (isset($_GET['page_type']) and $_GET['page_type'] == 'plugin')
+ {
+ $page['page']['type'] = 'standard';
+ $page['page']['name'] = 'plugins';
+ }
+ else
+ {
+ $page['page']['type'] = 'standard';
+ $page['page']['name'] = 'intro';
+ }
}
$page['errors'] = array();
@@ -135,7 +186,25 @@ if ($conf['allow_random_representative'])
// required before plugin page inclusion
trigger_action('plugin_admin_menu');
-include(PHPWG_ROOT_PATH.'admin/'.$page['page'].'.php');
+switch($page['page']['type'])
+{
+ case 'standard':
+ {
+ include(PHPWG_ROOT_PATH.'admin/'.$page['page']['name'].'.php');
+ break;
+ }
+ case 'plugin':
+ {
+ include(PHPWG_PLUGINS_PATH.$page['page']['plugin_id'].'/admin/'.$page['page']['name'].'.php');
+ break;
+ }
+ default:
+ {
+ die ("Hacking attempt!");
+ break;
+ }
+}
+
//------------------------------------------------------------- content display
$template->assign_block_vars('plugin_menu.menu_item',
diff --git a/admin/advanced_feature.php b/admin/advanced_feature.php
index a178b50f1..f8991ff07 100644
--- a/admin/advanced_feature.php
+++ b/admin/advanced_feature.php
@@ -2,7 +2,7 @@
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
-// | Copyright (C) 2003-2005 PhpWebGallery Team - http://phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | branch : BSF (Best So Far)
// | file : $RCSfile$
@@ -36,7 +36,7 @@ if (!defined('PHPWG_ROOT_PATH'))
check_status(ACCESS_ADMINISTRATOR);
// +-----------------------------------------------------------------------+
-// | actions |
+// | Actions |
// +-----------------------------------------------------------------------+
/*$action = (isset($_GET['action']) and !is_adviser()) ? $_GET['action'] : '';
@@ -54,25 +54,64 @@ switch ($action)
}*/
// +-----------------------------------------------------------------------+
-// | template init |
+// | Define advanced features |
+// +-----------------------------------------------------------------------+
+
+$advanced_features = array();
+
+// Add advanced features
+/*array_push($advanced_features,
+ array
+ (
+ 'CAPTION' => l10n('???'),
+ 'URL' => $start_url.'???'
+ ));*/
+
+array_push($advanced_features,
+ array
+ (
+ 'CAPTION' => l10n('Elements_not_linked'),
+ 'URL' => get_root_url().'admin.php?page=element_set&cat=not_linked'
+ ));
+
+array_push($advanced_features,
+ array
+ (
+ 'CAPTION' => l10n('Duplicates'),
+ 'URL' => get_root_url().'admin.php?page=element_set&cat=duplicates'
+ ));
+
+//$advanced_features is array of array composed of CAPTION & URL
+$advanced_features =
+ trigger_event('array_advanced_features', $advanced_features);
+
+// +-----------------------------------------------------------------------+
+// | Template init |
// +-----------------------------------------------------------------------+
$template->set_filenames(array('advanced_feature'=>'admin/advanced_feature.tpl'));
-$start_url = PHPWG_ROOT_PATH.'admin.php?page=advanced_feature&action=';
+$start_url = get_root_url().'admin.php?page=advanced_feature&action=';
$template->assign_vars(
- array(
-// 'U_ADV_????' => $start_url.'???',
- 'U_ADV_ELEMENT_NOT_LINKED' => PHPWG_ROOT_PATH.'admin.php?page=element_set&cat=not_linked',
- 'U_ADV_DUP_FILES' => PHPWG_ROOT_PATH.'admin.php?page=element_set&cat=duplicates',
- 'U_HELP' => PHPWG_ROOT_PATH.'popuphelp.php?page=advanced_feature'
- )
- );
+ array
+ (
+ 'U_HELP' => get_root_url().'popuphelp.php?page=advanced_feature'
+ ));
+
+// advanced_features
+if (count($advanced_features) > 0)
+{
+ foreach ($advanced_features as $advanced_feature)
+ {
+ $template->assign_block_vars('advanced_features.advanced_feature', $advanced_feature);
+ }
+}
// +-----------------------------------------------------------------------+
-// | sending html code |
+// | Sending html code |
// +-----------------------------------------------------------------------+
$template->assign_var_from_handle('ADMIN_CONTENT', 'advanced_feature');
+
?>
diff --git a/admin/include/functions_notification_by_mail.inc.php b/admin/include/functions_notification_by_mail.inc.php
index 13113da28..29ec90372 100644
--- a/admin/include/functions_notification_by_mail.inc.php
+++ b/admin/include/functions_notification_by_mail.inc.php
@@ -254,10 +254,11 @@ function set_user_id_on_env_nbm($user_id)
// language files
include(get_language_filepath('common.lang.php'));
- @include(get_language_filepath('local.lang.php'));
// No test admin because script is checked admin (user selected no)
// Translations are in admin file too
include(get_language_filepath('admin.lang.php'));
+ trigger_action('loading_lang');
+ @include(get_language_filepath('local.lang.php'));
}
}
diff --git a/admin/plugins.php b/admin/plugins.php
index e8f2c2a5a..d58e25a64 100644
--- a/admin/plugins.php
+++ b/admin/plugins.php
@@ -42,7 +42,15 @@ $my_base_url = PHPWG_ROOT_PATH.'admin.php?page=plugins';
// +-----------------------------------------------------------------------+
if ( isset($_REQUEST['action']) and isset($_REQUEST['plugin']) )
{
- $plugin_id = $_REQUEST['plugin'];
+ if (function_exists('mysql_real_escape_string'))
+ {
+ $plugin_id = mysql_real_escape_string($_REQUEST['plugin']);
+ }
+ else
+ {
+ $plugin_id = mysql_escape_string($_REQUEST['plugin']);
+ }
+
$crt_db_plugin = get_db_plugins('', $plugin_id);
if (!empty($crt_db_plugin))
{
diff --git a/admin/site_manager.php b/admin/site_manager.php
index aa0ad5f31..53330d7f9 100644
--- a/admin/site_manager.php
+++ b/admin/site_manager.php
@@ -205,7 +205,7 @@ SELECT galleries_url
}
$template->assign_vars( array(
- 'U_HELP' => PHPWG_ROOT_PATH.'popuphelp.php?page=remote_site',
+ 'U_HELP' => PHPWG_ROOT_PATH.'popuphelp.php?page=site_manager',
'F_ACTION' => PHPWG_ROOT_PATH.'admin.php'
.get_query_string_diff( array('action','site') )
) );
@@ -293,6 +293,22 @@ while ($row = mysql_fetch_array($result))
)
);
}
+
+ $plugin_links = array();
+ //$plugin_links is array of array composed of U_HREF, U_HINT & U_CAPTION
+ $plugin_links =
+ trigger_event('array_site_manager_plugin_links',
+ $plugin_links, $row['id'], $is_remote);
+
+ // plugin_links
+ if (count($plugin_links) > 0)
+ {
+ foreach ($plugin_links as $plugin_link)
+ {
+ $template->assign_block_vars('sites.site.plugin_links.plugin_link', $plugin_link);
+ }
+ }
+
}
if ( isset($local_listing_site_url) and !isset($local_listing_site_id) )