2003-05-22 12:12:53 +00:00
<? php
2004-10-19 03:03:06 +00:00
require_once ( 'admin.php' );
2004-12-18 20:56:26 +00:00
$title = __ ( 'Template & File Editing' );
2004-11-17 03:15:44 +00:00
$parent_file = 'edit.php' ;
2004-03-29 22:43:07 +00:00
2004-10-19 03:03:06 +00:00
$wpvarstoreset = array ( 'action' , 'redirect' , 'profile' , 'error' , 'warning' , 'a' , 'file' );
2003-12-18 09:36:13 +00:00
for ( $i = 0 ; $i < count ( $wpvarstoreset ); $i += 1 ) {
$wpvar = $wpvarstoreset [ $i ];
if ( ! isset ( $$wpvar )) {
2004-04-20 22:56:47 +00:00
if ( empty ( $_POST [ " $wpvar " ])) {
if ( empty ( $_GET [ " $wpvar " ])) {
2003-12-18 09:36:13 +00:00
$$wpvar = '' ;
2003-05-22 12:12:53 +00:00
} else {
2004-04-20 22:56:47 +00:00
$$wpvar = $_GET [ " $wpvar " ];
2003-05-22 12:12:53 +00:00
}
} else {
2004-04-20 22:56:47 +00:00
$$wpvar = $_POST [ " $wpvar " ];
2003-05-22 12:12:53 +00:00
}
}
}
2004-12-27 03:27:17 +00:00
$recents = get_option ( 'recently_edited' );
2004-11-17 03:15:44 +00:00
if ( empty ( $file )) {
2004-12-27 03:27:17 +00:00
if ( $recents ) {
$file = $recents [ 0 ];
} else {
$file = 'index.php' ;
}
2004-11-17 03:15:44 +00:00
}
$file = validate_file_to_edit ( $file );
$real_file = get_real_file_to_edit ( $file );
2003-05-22 12:12:53 +00:00
switch ( $action ) {
2003-05-23 00:12:22 +00:00
case 'update' :
2003-05-22 12:12:53 +00:00
2005-07-17 19:29:55 +00:00
if ( ! current_user_can ( 'edit_files' ) )
2004-04-25 23:57:43 +00:00
die ( __ ( '<p>You have do not have sufficient permissions to edit templates for this blog.</p>' ));
2003-05-22 12:12:53 +00:00
2004-04-20 22:56:47 +00:00
$newcontent = stripslashes ( $_POST [ 'newcontent' ]);
2004-11-17 03:15:44 +00:00
if ( is_writeable ( $real_file )) {
$f = fopen ( $real_file , 'w+' );
fwrite ( $f , $newcontent );
fclose ( $f );
header ( "Location: templates.php?file= $file &a=te" );
} else {
header ( "Location: templates.php?file= $file " );
}
2003-05-22 12:12:53 +00:00
exit ();
break ;
default :
2004-09-22 06:33:54 +00:00
require_once ( './admin-header.php' );
2005-07-17 19:29:55 +00:00
if ( ! current_user_can ( 'edit_files' ) )
2004-04-25 23:57:43 +00:00
die ( __ ( '<p>You have do not have sufficient permissions to edit templates for this blog.</p>' ));
2004-12-14 09:45:49 +00:00
if ( strstr ( $file , 'wp-config.php' ) )
die ( __ ( '<p>The config file cannot be edited or viewed through the web interface. Sorry!</p>' ) );
2003-05-22 12:12:53 +00:00
2004-11-17 03:15:44 +00:00
update_recently_edited ( $file );
2003-05-22 12:12:53 +00:00
2004-03-29 22:43:07 +00:00
if ( ! is_file ( $real_file ))
2003-05-22 12:12:53 +00:00
$error = 1 ;
2003-05-23 00:12:22 +00:00
2003-05-22 12:12:53 +00:00
if ( ! $error ) {
2004-03-29 22:43:07 +00:00
$f = fopen ( $real_file , 'r' );
$content = fread ( $f , filesize ( $real_file ));
2005-01-23 23:21:44 +00:00
$content = htmlspecialchars ( $content );
2003-05-22 12:12:53 +00:00
}
?>
2004-05-07 23:56:33 +00:00
<?php if (isset($_GET['a'])) : ?>
2005-08-08 01:13:22 +00:00
<div id="message" class="updated fade"><p><?php _e('File edited successfully.') ?></p></div>
2004-04-17 18:44:10 +00:00
<?php endif; ?>
2003-12-08 01:55:38 +00:00
<div class="wrap">
2004-09-22 06:33:54 +00:00
<?php
if (is_writeable($real_file)) {
2004-12-12 20:41:19 +00:00
echo '<h2>' . sprintf(__('Editing <strong>%s</strong>'), wp_specialchars($file) ) . '</h2>';
2004-09-22 06:33:54 +00:00
} else {
2004-12-12 20:41:19 +00:00
echo '<h2>' . sprintf(__('Browsing <strong>%s</strong>'), wp_specialchars($file) ) . '</h2>';
2004-09-22 06:33:54 +00:00
}
?>
<div id="templateside">
<?php
2004-12-27 03:27:17 +00:00
if ( $recents ) :
2004-09-22 06:33:54 +00:00
?>
<h3><?php _e('Recent'); ?></h3>
<?php
echo '<ol>';
foreach ($recents as $recent) :
2004-12-12 06:31:01 +00:00
echo "<li><a href='templates.php?file=$recent'>" . get_file_description(basename($recent)) . "</a></li>";
2004-09-22 06:33:54 +00:00
endforeach;
echo '</ol>';
endif;
?>
<h3><?php _e('Common'); ?></h3>
2005-01-19 15:23:38 +00:00
<?php $common_files = array('index.php', '.htaccess', 'my-hacks.php');
$old_files = array('wp-layout.css', 'wp-comments.php', 'wp-comments-popup.php');
foreach ($old_files as $old_file) {
if (file_exists(ABSPATH . $old_file))
$common_files[] = $old_file;
} ?>
2004-09-22 06:33:54 +00:00
<ul>
2004-11-17 03:15:44 +00:00
<?php foreach ($common_files as $common_file) : ?>
<li><a href="templates.php?file=<?php echo $common_file?>"><?php echo get_file_description($common_file); ?></a></li>
2004-11-19 21:05:26 +00:00
<?php endforeach; ?>
2004-11-17 03:15:44 +00:00
</ul>
2004-09-22 06:33:54 +00:00
</div>
<?php if (!$error) { ?>
<form name="template" id="template" action="templates.php" method="post">
<div><textarea cols="70" rows="25" name="newcontent" id='newcontent' tabindex="1"><?php echo $content ?></textarea>
2003-12-08 01:55:38 +00:00
<input type="hidden" name="action" value="update" />
<input type="hidden" name="file" value="<?php echo $file ?>" />
2004-09-22 06:33:54 +00:00
</div>
<?php if ( is_writeable($real_file) ) : ?>
2004-04-17 18:44:10 +00:00
<p class="submit">
2004-09-22 06:33:54 +00:00
<?php
echo "<input type='submit' name='submit' value=' " . __('Update File') . " »' tabindex='2' />";
?>
2004-04-17 18:44:10 +00:00
</p>
2004-09-22 06:33:54 +00:00
<?php else : ?>
<p><em><?php _e('If this file was writable you could edit it.'); ?></em></p>
<?php endif; ?>
2003-12-08 01:55:38 +00:00
</form>
<?php
2003-05-22 12:12:53 +00:00
} else {
2004-04-25 23:57:43 +00:00
echo '<div class="error"><p>' . __('Oops, no such file exists! Double check the name and try again, merci.') . '</p></div>';
2003-05-22 12:12:53 +00:00
}
2004-09-22 06:33:54 +00:00
?>
</div>
2004-02-05 14:48:55 +00:00
<div class="wrap">
2005-03-05 18:31:59 +00:00
<h2><?php _e('Other Files') ?></h2>
2004-09-22 06:33:54 +00:00
2005-05-09 11:01:12 +00:00
<p><?php _e('To edit a file, type its name here. You can edit any file <a href="http://codex.wordpress.org/Changing_File_Permissions" title="Read more about making files writable">writable by the server</a>, e.g. CHMOD 666.') ?></p>
2003-12-08 01:55:38 +00:00
<form name="file" action="templates.php" method="get">
<input type="text" name="file" />
2004-04-25 23:57:43 +00:00
<input type="submit" name="submit" value="<?php _e('Edit file »') ?>" />
2003-12-08 01:55:38 +00:00
</form>
2004-09-22 06:33:54 +00:00
2004-04-25 23:57:43 +00:00
<p><?php _e('Note: of course, you can also edit the files/templates in your text editor of choice and upload them. This online editor is only meant to be used when you don’t have access to a text editor or FTP client.') ?></p>
2003-12-08 01:55:38 +00:00
</div>
<?php
2003-05-22 12:12:53 +00:00
break;
}
2004-12-12 06:31:01 +00:00
include("admin-footer.php");
?>