<?php
/**
* @package admin
* @copyright Copyright 2003-2006 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
* @version $Id: define_pages_editor.php 4279 2006-08-26 03:31:29Z drbyte $
*/
require('includes/application_top.php');
function zen_display_files() {
global $check_directory, $found, $configuration_key_lookup;
for ($i = 0, $n = sizeof($check_directory); $i < $n; $i++) {
//echo 'I SEE ' . $check_directory[$i] . '<br>';
$dir_check = $check_directory[$i];
$file_extension = '.php';
if ($dir = @dir($dir_check)) {
while ($file = $dir->read()) {
if (!is_dir($dir_check . $file)) {
$directory_array[] = $file;
}
}
}
if (sizeof($directory_array)) {
}
$dir->close();
}
}
return $directory_array;
}
$action = (isset($_GET['action']) ?
$_GET['action'] : '');
$za_who = $_GET['za_lookup'];
if ($action == 'new_page') {
$page = $_GET['define_it'];
$check_directory = array();
$check_directory[] = DIR_FS_CATALOG . DIR_WS_LANGUAGES . $_SESSION['language'] . '/html_includes/';
$directory_files = zen_display_files();
for ($i = 0, $n = sizeof($directory_files); $i < $n; $i++) {
$za_lookup[] = array('id' => $i, 'text' => $directory_files[$i]);
}
// This will cause it to look for 'define_conditions.php'
$_GET['filename'] = $za_lookup[$page]['text'];
$_GET['box_name'] = BOX_TOOLS_DEFINE_CONDITIONS;
}
// define template specific file name defines
$file = zen_get_file_directory(DIR_FS_CATALOG_LANGUAGES . $_SESSION['language'] . '/html_includes/', $_GET['filename'], 'false');
?>
<?php
switch ($_GET['action']) {
case 'set_editor':
// Reset will be done by init_html_editor.php. Now we simply redirect to refresh page properly.
$action='';
zen_redirect(zen_href_link(FILENAME_DEFINE_PAGES_EDITOR));
break;
case 'save':
if ( ($_GET['lngdir']) && ($_GET['filename']) ) {
}
@rename($file, 'bak' . $file);
$new_file = fopen($file, 'w');
}
zen_redirect(zen_href_link(FILENAME_DEFINE_PAGES_EDITOR));
}
break;
}
if (!$_SESSION['language']) $_SESSION['language'] = $language;
$languages_array = array();
$languages = zen_get_languages();
$lng_exists = false;
for ($i=0; $i<sizeof($languages); $i++) {
if ($languages[$i]['directory'] == $_SESSION['language']) $lng_exists = true;
$languages_array[] = array('id' => $languages[$i]['directory'],
'text' => $languages[$i]['name']);
}
if (!$lng_exists) $_SESSION['language'] = $language;
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html
<?php echo HTML_PARAMS
; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=
<?php echo CHARSET
; ?>">
<title>
<?php echo TITLE
; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
<link rel="stylesheet" type="text/css" href="includes/cssjsmenuhover.css" media="all" id="hoverJS">
<script language="javascript" src="includes/menu.js"></script>
<script language="javascript" src="includes/general.js"></script>
<script type="text/javascript">
<!--
function init()
{
cssjsmenu('navbar');
if (document.getElementById)
{
var kill = document.getElementById('hoverJS');
kill.disabled = true;
}
if (typeof _editor_url == "string") HTMLArea.replaceAll();
}
// -->
</script>
<?php if ($editor_handler != '') include ($editor_handler); ?>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onLoad="init()">
<div id="spiffycalendar" class="text"></div>
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->
<!-- body //-->
<table border="0" width="100%" cellspacing="2" cellpadding="2">
<tr>
<!-- body_text //-->
<td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="pageHeading">
<?php echo HEADING_TITLE
. ' ' . $_SESSION['language']; ?>
<?php
$check_directory = array();
$check_directory[] = DIR_FS_CATALOG . DIR_WS_LANGUAGES . $_SESSION['language'] . '/html_includes/';
$directory_files = zen_display_files();
$za_lookup[] = array('id' => -1, 'text' => TEXT_INFO_SELECT_FILE
);
for ($i = 0, $n = sizeof($directory_files); $i < $n; $i++) {
$za_lookup[] = array('id' => $i, 'text' => $directory_files[$i]);
}
echo zen_draw_form
('new_page', FILENAME_DEFINE_PAGES_EDITOR
, '', 'get') . ' ' . zen_draw_pull_down_menu
('define_it', $za_lookup, '-1', 'onChange="this.form.submit();"') .
zen_hide_session_id() .
zen_draw_hidden_field('action', 'new_page') . ' </form>';
?>
<?php
// toggle switch for editor
echo TEXT_EDITOR_INFO
. zen_draw_form
('set_editor_form', FILENAME_DEFINE_PAGES_EDITOR
, '', 'get') . ' ' . zen_draw_pull_down_menu
('reset_editor', $editors_pulldown, $current_editor_key, 'onChange="this.form.submit();"') .
zen_draw_hidden_field('action', 'set_editor') .
zen_hide_session_id() .
'</form>';
?>
</td>
</tr>
<?php
// show editor
if (isset($_GET['filename'])) {
?>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<?php
if ( ($_SESSION['language']) && ($_GET['filename']) ) {
$file_array = @file($file);
$file_contents = @implode('', $file_array);
$file_writeable = true;
$file_writeable = false;
$messageStack->reset();
$messageStack->add(sprintf(ERROR_FILE_NOT_WRITEABLE
, $file), 'error');
echo $messageStack->output();
}
?>
<tr>
<td class="main"><b>
<?php echo TEXT_INFO_CAUTION
. '<br /><br />' . TEXT_INFO_EDITING
. '<br />' . $file . '<br />'; ?></b></td>
</tr>
<tr>
<?php echo zen_draw_form
('language', FILENAME_DEFINE_PAGES_EDITOR
, 'lngdir=' . $_SESSION['language'] . '&filename=' . $_GET['filename'] . '&action=save'); ?>
<td><table border="0" cellspacing="0" cellpadding="2">
<tr>
<td class="main">
<?php if ($_SESSION['html_editor_preference_status']=="FCKEDITOR") {
$oFCKeditor = new FCKeditor('file_contents') ;
$oFCKeditor->Value = $file_contents ;
$oFCKeditor->Width = '700' ;
$oFCKeditor->Height = '450' ;
// $oFCKeditor->Create() ;
$output = $oFCKeditor->CreateHtml() ; echo $output;
} else { // using HTMLAREA or just raw "source"
echo zen_draw_textarea_field
('file_contents', 'soft', '100%', '30', $file_contents, (($file_writeable) ?
'' : 'readonly') . ' id="file_contents"');
} ?>
</td>
</tr>
<tr>
<td>
<?php echo zen_draw_separator
('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<td align="right">
<?php if ($file_writeable) { echo zen_image_submit
('button_save.gif', IMAGE_SAVE
) . ' <a href="' . zen_href_link
(FILENAME_DEFINE_PAGES_EDITOR
, 'define_it=' .$_GET['define_it'] . '&action=new_page') . '">' . zen_image_button
('button_reset.gif', IMAGE_RESET
) . '</a>' . ' ' . '<a href="' . zen_href_link
(FILENAME_DEFINE_PAGES_EDITOR
. '.php') . '">' . zen_image_button
('button_cancel.gif', IMAGE_CANCEL
) . '</a>'; } else { echo '<a href="' . zen_href_link
(FILENAME_DEFINE_PAGES_EDITOR
, 'lngdir=' . $_SESSION['language']) . '">' . zen_image_button
('button_back.gif', IMAGE_BACK
) . '</a>'; } ?></td>
</tr>
</table></td>
</form></tr>
<?php
} else {
?>
<tr>
<td class="main"><b>
<?php echo sprintf(TEXT_FILE_DOES_NOT_EXIST
, $file); ?></b></td>
</tr>
<tr>
<td>
<?php echo zen_draw_separator
('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<td>
<?php echo '<a href="' . zen_href_link
($_GET['filename'], 'lngdir=' . $_SESSION['language']) . '">' . zen_image_button
('button_back.gif', IMAGE_BACK
) . '</a>'; ?></td>
</tr>
<?php
}
} else {
$filename = $_SESSION['language'] . '.php';
?>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="smallText"><a href="
<?php echo zen_href_link
($_GET['filename'], 'lngdir=' . $_SESSION['language'] . '&filename=' . $filename); ?>"><b>
<?php echo $filename; ?></b></a></td>
<?php
$dir = dir(DIR_FS_CATALOG_LANGUAGES
. $_SESSION['language']);
$left = false;
if ($dir) {
while ($file = $dir->read()) {
echo ' <td class="smallText"><a href="' . zen_href_link
($_GET['filename'], 'lngdir=' . $_SESSION['language'] . '&filename=' . $file) . '">' . $file . '</a></td>' . "\n";
if (!$left) {
' <tr>' . "\n";
}
$left = !$left;
}
}
$dir->close();
}
?>
</tr>
</table></td>
</tr>
<?php
}
?>
</table></td>
<?php } // filename ?>
</tr>
</table></td>
<!-- body_text_eof //-->
</tr>
</table>
<!-- body_eof //-->
<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<br />
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>