mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-07-03 16:32:22 +02:00
merge r10348 from trunk to branch 2.2
Clean code git-svn-id: http://piwigo.org/svn/branches/2.2@10349 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
|
||||
if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
|
||||
include_once(LOCALEDIT_PATH.'functions.inc.php');
|
||||
include_once(LOCALEDIT_PATH.'include/functions.inc.php');
|
||||
load_language('plugin.lang', LOCALEDIT_PATH);
|
||||
$my_base_url = get_root_url().'admin.php?page=plugin-'.basename(dirname(__FILE__));
|
||||
|
||||
@@ -54,221 +54,7 @@ $tabsheet->add('plug',
|
||||
$tabsheet->select($page['tab']);
|
||||
$tabsheet->assign();
|
||||
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Variables init
|
||||
// +-----------------------------------------------------------------------+
|
||||
$edited_file = isset($_POST['edited_file']) ? $_POST['edited_file'] : '';
|
||||
$content_file = '';
|
||||
$new_file['localconf'] = "<?php\n\n/* ".l10n('locfiledit_newfile')." */\n\n\n\n\n?>";
|
||||
$new_file['css'] = "/* " . l10n('locfiledit_newfile') . " */\n\n";
|
||||
$new_file['tpl'] = "{* " . l10n('locfiledit_newfile') . " *}\n\n";
|
||||
$new_file['lang'] = $new_file['localconf'];
|
||||
$new_file['plug'] = "<?php\n/*
|
||||
Plugin Name: " . l10n('locfiledit_onglet_plug') . "
|
||||
Version: 1.0
|
||||
Description: " . l10n('locfiledit_onglet_plug') . "
|
||||
Plugin URI: http://piwigo.org
|
||||
Author:
|
||||
Author URI:
|
||||
*/\n\n\n\n\n?>";
|
||||
$newfile_page = isset($_GET['newfile']) ? true : false;
|
||||
|
||||
// Edit selected file for CSS, template and language
|
||||
if ((isset($_POST['edit'])) and !is_numeric($_POST['file_to_edit']))
|
||||
{
|
||||
$edited_file = $_POST['file_to_edit'];
|
||||
$content_file = file_exists($edited_file) ?
|
||||
file_get_contents($edited_file) : $new_file[$page['tab']];
|
||||
}
|
||||
|
||||
// Edit new tpl file
|
||||
if (isset($_POST['create_tpl']))
|
||||
{
|
||||
$filename = $_POST['tpl_name'];
|
||||
if (empty($filename))
|
||||
{
|
||||
array_push($page['errors'], l10n('locfiledit_empty_filename'));
|
||||
}
|
||||
if (get_extension($filename) != 'tpl')
|
||||
{
|
||||
$filename .= '.tpl';
|
||||
}
|
||||
if (!preg_match('/^[a-zA-Z0-9-_.]+$/', $filename))
|
||||
{
|
||||
array_push($page['errors'], l10n('locfiledit_filename_error'));
|
||||
}
|
||||
if (is_numeric($_POST['tpl_model']) and $_POST['tpl_model'] != '0')
|
||||
{
|
||||
array_push($page['errors'], l10n('locfiledit_model_error'));
|
||||
}
|
||||
if (file_exists($_POST['tpl_parent'] . '/' . $filename))
|
||||
{
|
||||
array_push($page['errors'], l10n('locfiledit_file_already_exists'));
|
||||
}
|
||||
if (!empty($page['errors']))
|
||||
{
|
||||
$newfile_page = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$edited_file = $_POST['tpl_parent'] . '/' . $filename;
|
||||
$content_file = ($_POST['tpl_model'] == '0') ? $new_file['tpl'] : file_get_contents($_POST['tpl_model']);
|
||||
}
|
||||
}
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Process tabsheet
|
||||
// +-----------------------------------------------------------------------+
|
||||
switch ($page['tab'])
|
||||
{
|
||||
case 'localconf':
|
||||
$edited_file = PHPWG_ROOT_PATH.PWG_LOCAL_DIR . "config/config.inc.php";
|
||||
$content_file = file_exists($edited_file) ?
|
||||
file_get_contents($edited_file) : $new_file['localconf'];
|
||||
|
||||
$template->assign('show_default' , array(
|
||||
array('SHOW_DEFAULT' => LOCALEDIT_PATH
|
||||
. 'show_default.php?file=include/config_default.inc.php',
|
||||
'FILE' => 'config_default.inc.php')));
|
||||
$codemirror_mode = 'application/x-httpd-php';
|
||||
break;
|
||||
|
||||
case 'css':
|
||||
$selected = 0;
|
||||
$options[] = l10n('locfiledit_choose_file');
|
||||
$options[] = '----------------------';
|
||||
$value = PHPWG_ROOT_PATH.PWG_LOCAL_DIR . "css/rules.css";
|
||||
$options[$value] = 'local / css / rules.css';
|
||||
if ($edited_file == $value) $selected = $value;
|
||||
$options[] = '----------------------';
|
||||
|
||||
foreach (get_dirs($conf['themes_dir']) as $theme_id)
|
||||
{
|
||||
$value = PHPWG_ROOT_PATH.PWG_LOCAL_DIR . 'css/'.$theme_id.'-rules.css';
|
||||
$options[$value] = 'local / css / '.$theme_id.'-rules.css';
|
||||
if ($edited_file == $value) $selected = $value;
|
||||
}
|
||||
$template->assign('css_lang_tpl', array(
|
||||
'OPTIONS' => $options,
|
||||
'SELECTED' => $selected));
|
||||
$codemirror_mode = 'text/css';
|
||||
break;
|
||||
|
||||
case 'tpl':
|
||||
// New file form creation
|
||||
if ($newfile_page)
|
||||
{
|
||||
$filename = isset($_POST['tpl_name']) ? $_POST['tpl_name'] : '';
|
||||
$selected['model'] = isset($_POST['tpl_model']) ? $_POST['tpl_model'] : '0';
|
||||
$selected['parent'] = isset($_POST['tpl_parent']) ? $_POST['tpl_parent'] : PHPWG_ROOT_PATH . 'template-extension';
|
||||
|
||||
// Parent directories list
|
||||
$options['parent'] = array(PHPWG_ROOT_PATH . 'template-extension' => 'template-extension');
|
||||
$options['parent'] = array_merge($options['parent'], get_rec_dirs(PHPWG_ROOT_PATH . 'template-extension'));
|
||||
|
||||
$options['model'][] = l10n('locfiledit_empty_page');
|
||||
$options['model'][] = '----------------------';
|
||||
$i = 0;
|
||||
foreach (get_extents() as $pwg_template)
|
||||
{
|
||||
$value = PHPWG_ROOT_PATH . 'template-extension/' . $pwg_template;
|
||||
$options['model'][$value] = 'template-extension / ' . str_replace('/', ' / ', $pwg_template);
|
||||
$i++;
|
||||
}
|
||||
foreach (get_dirs($conf['themes_dir']) as $theme_id)
|
||||
{
|
||||
if ($i)
|
||||
{
|
||||
$options['model'][] = '----------------------';
|
||||
$i = 0;
|
||||
}
|
||||
$dir = $conf['themes_dir'] . '/' . $theme_id . '/template/';
|
||||
if (is_dir($dir) and $content = opendir($dir))
|
||||
{
|
||||
while ($node = readdir($content))
|
||||
{
|
||||
if (is_file($dir.$node) and get_extension($node) == 'tpl')
|
||||
{
|
||||
$value = $dir . $node;
|
||||
$options['model'][$value] = $theme_id . ' / ' . $node;
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (end($options['model']) == '----------------------')
|
||||
{
|
||||
array_pop($options['model']);
|
||||
}
|
||||
// Assign variables to template
|
||||
$template->assign('create_tpl', array(
|
||||
'NEW_FILE_NAME' => $filename,
|
||||
'MODEL_OPTIONS' => $options['model'],
|
||||
'MODEL_SELECTED' => $selected['model'],
|
||||
'PARENT_OPTIONS' => $options['parent'],
|
||||
'PARENT_SELECTED' => $selected['parent']));
|
||||
break;
|
||||
}
|
||||
// List existing template extensions
|
||||
$selected = 0;
|
||||
$options[] = l10n('locfiledit_choose_file');
|
||||
$options[] = '----------------------';
|
||||
foreach (get_extents() as $pwg_template)
|
||||
{
|
||||
$value = './template-extension/' . $pwg_template;
|
||||
$options[$value] = str_replace('/', ' / ', $pwg_template);
|
||||
if ($edited_file == $value) $selected = $value;
|
||||
}
|
||||
if ($selected == 0 and !empty($edited_file))
|
||||
{
|
||||
$options[$edited_file] = str_replace(array('./template-extension/', '/'), array('', ' / '), $edited_file);
|
||||
$selected = $edited_file;
|
||||
}
|
||||
$template->assign('css_lang_tpl', array(
|
||||
'OPTIONS' => $options,
|
||||
'SELECTED' => $selected,
|
||||
'NEW_FILE_URL' => $my_base_url.'-tpl&newfile',
|
||||
'NEW_FILE_CLASS' => empty($edited_file) ? '' : 'top_right'));
|
||||
|
||||
$codemirror_mode = 'text/html';
|
||||
break;
|
||||
|
||||
case 'lang':
|
||||
$selected = 0;
|
||||
$options[] = l10n('locfiledit_choose_file');
|
||||
$options[] = '----------------------';
|
||||
foreach (get_languages() as $language_code => $language_name)
|
||||
{
|
||||
$value = PHPWG_ROOT_PATH.PWG_LOCAL_DIR.'language/'.$language_code.'.lang.php';
|
||||
if ($edited_file == $value)
|
||||
{
|
||||
$selected = $value;
|
||||
$template->assign('show_default', array(
|
||||
array('SHOW_DEFAULT' => LOCALEDIT_PATH
|
||||
. 'show_default.php?file='
|
||||
. 'language/'.$language_code.'/common.lang.php',
|
||||
'FILE' => 'common.lang.php'),
|
||||
array('SHOW_DEFAULT' => LOCALEDIT_PATH
|
||||
. 'show_default.php?file='
|
||||
. 'language/'.$language_code.'/admin.lang.php',
|
||||
'FILE' => 'admin.lang.php')));
|
||||
}
|
||||
$options[$value] = $language_name;
|
||||
}
|
||||
$template->assign('css_lang_tpl', array(
|
||||
'OPTIONS' => $options,
|
||||
'SELECTED' => $selected));
|
||||
$codemirror_mode = 'application/x-httpd-php';
|
||||
break;
|
||||
|
||||
case 'plug':
|
||||
$edited_file = PHPWG_PLUGINS_PATH . "PersonalPlugin/main.inc.php";
|
||||
$content_file = file_exists($edited_file) ?
|
||||
file_get_contents($edited_file) : $new_file['plug'];
|
||||
$codemirror_mode = 'application/x-httpd-php';
|
||||
break;
|
||||
}
|
||||
include_once(LOCALEDIT_PATH.'include/'.$page['tab'].'.inc.php');
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Load backup file
|
||||
@@ -334,7 +120,7 @@ if (isset($_POST['submit']))
|
||||
// | template initialization
|
||||
// +-----------------------------------------------------------------------+
|
||||
$template->set_filenames(array(
|
||||
'plugin_admin_content' => dirname(__FILE__) . '/admin.tpl'));
|
||||
'plugin_admin_content' => dirname(__FILE__) . '/template/admin.tpl'));
|
||||
|
||||
if (!empty($edited_file))
|
||||
{
|
||||
@@ -343,9 +129,12 @@ if (!empty($edited_file))
|
||||
$content_file = stripslashes($_POST['text']);
|
||||
}
|
||||
$template->assign('zone_edit',
|
||||
array('EDITED_FILE' => $edited_file,
|
||||
'CONTENT_FILE' => htmlspecialchars($content_file),
|
||||
'FILE_NAME' => trim($edited_file, './\\')));
|
||||
array(
|
||||
'EDITED_FILE' => $edited_file,
|
||||
'CONTENT_FILE' => htmlspecialchars($content_file),
|
||||
'FILE_NAME' => trim($edited_file, './\\')
|
||||
)
|
||||
);
|
||||
if (file_exists(get_bak_file($edited_file)))
|
||||
{
|
||||
$template->assign('restore', true);
|
||||
@@ -354,7 +143,6 @@ if (!empty($edited_file))
|
||||
{
|
||||
$template->assign('restore_infos', true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$template->assign(array(
|
||||
|
||||
Reference in New Issue
Block a user