diff options
author | rub <rub@piwigo.org> | 2007-01-08 00:16:10 +0000 |
---|---|---|
committer | rub <rub@piwigo.org> | 2007-01-08 00:16:10 +0000 |
commit | 4489066c982c1044028295164ec2f2e840c16881 (patch) | |
tree | 9dbe71687d9ac6743b7137b45c943d15eb28e045 /admin | |
parent | f992150313a63d30aeda6e5f3dcd64fc62a06adb (diff) |
Feature Issue ID 0000496: Integrate MOD add_index on PWG with plugin.lang.php
Add some plugin triggers:
o for help
o for language
o for site manager
o for advanced features
Allow to launch directly plugin page (without section key)
Add add_index plugin, available on site manager and advanced features
Configuration page and best help must be coming soon.
git-svn-id: http://piwigo.org/svn/trunk@1699 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to '')
-rw-r--r-- | admin.php | 81 | ||||
-rw-r--r-- | admin/advanced_feature.php | 63 | ||||
-rw-r--r-- | admin/include/functions_notification_by_mail.inc.php | 3 | ||||
-rw-r--r-- | admin/plugins.php | 10 | ||||
-rw-r--r-- | admin/site_manager.php | 18 |
5 files changed, 154 insertions, 21 deletions
@@ -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) ) |