Changeset 1413:0581a433675d for admin/plugin.php
- Timestamp:
- 08/12/13 13:34:09 (11 years ago)
- Branch:
- twig
- Parents:
- 1319:32528cac0405 (diff), 1333:5e1388edd0c9 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/plugin.php
r1332 r1413 4 4 # This file is part of Dotclear 2. 5 5 # 6 # Copyright (c) 2003-201 3Olivier Meunier & Association Dotclear6 # Copyright (c) 2003-2011 Olivier Meunier & Association Dotclear 7 7 # Licensed under the GPL version 2.0 license. 8 8 # See LICENSE file or … … 15 15 dcPage::check('usage,contentadmin'); 16 16 17 $has_content = false; 17 18 $p_file = ''; 18 19 $p = !empty($_REQUEST['p']) ? $_REQUEST['p'] : null; 19 $popup = (integer) !empty($_REQUEST['popup']); 20 21 if ($popup) { 22 $open_f = array('dcPage','openPopup'); 23 $close_f = array('dcPage','closePopup'); 24 } else { 25 $open_f = array('dcPage','open'); 26 $close_f = array('dcPage','close'); 27 } 20 $popup = $_ctx->popup = (integer) !empty($_REQUEST['popup']); 28 21 29 22 if ($core->plugins->moduleExists($p)) { 30 23 $p_file = $core->plugins->moduleRoot($p).'/index.php'; 31 24 } 25 if (file_exists($p_file)) { 32 26 33 if (file_exists($p_file)) 34 { 35 # Loading plugin 27 //* Keep this for old style plugins using dcPage 28 if ($popup) { 29 $open_f = array('dcPage','openPopup'); 30 $close_f = array('dcPage','closePopup'); 31 } else { 32 $open_f = array('dcPage','open'); 33 $close_f = array('dcPage','close'); 34 } 35 36 36 $p_info = $core->plugins->getModules($p); 37 38 37 $p_url = 'plugin.php?p='.$p; 39 40 $p_title = 'no content - plugin'; 41 $p_head = ''; 42 $p_content = '<p>'.__('No content found on this plugin.').'</p>'; 43 38 $p_title = $p_head = $p_content = ''; 39 //*/ 40 # Get page content 44 41 ob_start(); 45 42 include $p_file; 46 43 $res = ob_get_contents(); 47 44 ob_end_clean(); 48 49 if (preg_match('|<head>(.*?)</head|ms',$res,$m)) { 50 if (preg_match('|<title>(.*?)</title>|ms',$m[1],$mt)) { 51 $p_title = $mt[1]; 52 } 45 46 # Check context and display 47 if ($_ctx->hasPageTitle() && !empty($res)) { 48 $has_content = true; 49 echo $res; 50 } 51 //* Keep this for old style plugins using dcPage 52 elseif (!$_ctx->hasPageTitle()) { 53 53 54 if (preg_match_all('|(<script.*?>.*?</script>)|ms',$m[1],$ms)) { 55 foreach ($ms[1] as $v) { 56 $p_head .= $v."\n"; 54 if (preg_match('|<head>(.*?)</head|ms',$res,$m)) { 55 if (preg_match('|<title>(.*?)</title>|ms',$m[1],$mt)) { 56 $p_title = $mt[1]; 57 } 58 59 if (preg_match_all('|(<script.*?>.*?</script>)|ms',$m[1],$ms)) { 60 foreach ($ms[1] as $v) { 61 $p_head .= $v."\n"; 62 } 63 } 64 65 if (preg_match_all('|(<style.*?>.*?</style>)|ms',$m[1],$ms)) { 66 foreach ($ms[1] as $v) { 67 $p_head .= $v."\n"; 68 } 69 } 70 71 if (preg_match_all('|(<link.*?/>)|ms',$m[1],$ms)) { 72 foreach ($ms[1] as $v) { 73 $p_head .= $v."\n"; 74 } 57 75 } 58 76 } 59 77 60 if (preg_match_all('|(<style.*?>.*?</style>)|ms',$m[1],$ms)) { 61 foreach ($ms[1] as $v) { 62 $p_head .= $v."\n"; 63 } 64 } 65 66 if (preg_match_all('|(<link.*?/>)|ms',$m[1],$ms)) { 67 foreach ($ms[1] as $v) { 68 $p_head .= $v."\n"; 69 } 78 if (preg_match('|<body.*?>(.+)</body>|ms',$res,$m)) { 79 $p_content = $m[1]; 80 81 call_user_func($open_f,$p_title,$p_head); 82 echo $p_content; 83 call_user_func($close_f); 84 85 $has_content = true; 70 86 } 71 87 } 72 73 if (preg_match('|<body.*?>(.+)</body>|ms',$res,$m)) { 74 $p_content = $m[1]; 75 } 76 77 call_user_func($open_f,$p_title,$p_head); 78 echo $p_content; 79 call_user_func($close_f); 88 //*/ 80 89 } 81 else 82 { 83 call_user_func($open_f,__('Plugin not found')); 84 85 echo dcPage::breadcrumb( 86 array( 87 __('System') => '', 88 '<span class="page-title">'.__('Plugin not found').'</span>' => '' 89 )); 90 91 echo '<p>'.__('The plugin you reached does not exist or does not have an admin page.').'</p>'; 92 93 call_user_func($close_f); 90 # No plugin or content found 91 if (!$has_content) { 92 $_ctx->fillPageTitle(__('Plugin not found')); 93 $_ctx->addError(__('The plugin you reached does not exist or does not have an admin page.')); 94 $core->tpl->display('plugin.html.twig'); 94 95 } 95 96 ?>
Note: See TracChangeset
for help on using the changeset viewer.