|
Server : Apache System : Linux s1230 5.15.0-139-generic #149~20.04.1 SMP Tue Jul 14 11:21:49 UTC 2026 x86_64 User : p141464 ( 418825) PHP Version : 7.4.33.12 Disable Function : NONE Directory : /html/wordpress-old/wp-content/plugins/redirection/modules/ |
Upload File : |
<?php
class Apache_Module extends Red_Module
{
var $name;
var $allow_ip = false;
var $raw;
var $ban_ip = false;
var $site = '';
var $location = '';
var $canonical = '';
var $strip_index = '';
var $memory_limit = '';
var $error_level = '';
function is_valid ()
{
if (!$this->location || !file_exists (dirname ($this->location)) && !is_writable (dirname ($this->location)))
return false;
return true;
}
function load ($data)
{
$mine = array ('location', 'canonical', 'strip_index', 'memory_limit', 'error_level', 'ban_ip', 'allow_ip', 'raw', 'site');
foreach ($mine AS $key)
{
if (isset ($data[$key]))
$this->$key = $data[$key];
}
}
function module_flush_delete ()
{
@unlink ($this->location);
}
function module_flush ($items)
{
// Produce the .htaccess file
include_once (dirname (__FILE__).'/../models/htaccess.php');
$htaccess = new Red_Htaccess ($this);
if (is_array ($items) && count ($items) > 0)
{
foreach ($items AS $item)
$htaccess->add ($item);
}
$htaccess->save ($this->location, $this->name);
}
function save ($data)
{
$save = array
(
'location' => $data['location'],
'canonical' => $data['canonical'],
'strip_index' => $data['strip_index'],
'memory_limit' => $data['memory_limit'],
'error_level' => $data['error_level'],
'ban_ip' => $data['ban_ip'],
'allow_ip' => $data['allow_ip'],
'raw' => $data['raw'],
'site' => preg_replace ('@https?://@', '', $data['site'])
);
$this->load ($save);
return $save;
}
function config ()
{
?>
<tr>
<th valign="top"><?php _e ('Location', 'redirection'); ?>:</th>
<td>
<input type="text" name="location" value="<?php echo htmlspecialchars ($this->location) ?>" style="width: 95%"/>
<?php if ($this->location == '') : ?>
<br/>
<span class="sub"><?php printf (__ ('WordPress is installed in: <code>%s</code>', 'redirection'), ABSPATH); ?></span>
<?php endif; ?>
</td>
</tr>
<tr>
<th><?php _e ('Canonical', 'redirection'); ?>:</th>
<td>
<select name="canonical">
<?php echo $this->select (array ('default' => __ ('Leave as is', 'redirection'), 'nowww' => sprintf (__ ('Strip WWW (%s)', 'redirection'), preg_replace ('@https?://(www)?@', '', get_bloginfo ('url'))), 'www' => sprintf (__ ('Force WWW (www.%s)', 'redirection'), preg_replace ('@https?://(www)?@', '', get_bloginfo ('url')))), $this->canonical); ?>
</select>
<br/>
<strong><?php _e ('Strip Index', 'redirection'); ?>:</strong>
<select name="strip_index">
<?php echo $this->select (array ('default' => __ ('Leave as is', 'redirection'), 'yes' => __ ('Strip index files (html,php)', 'redirection')), $this->strip_index); ?>
</select>
</td>
</tr>
<tr>
<th><?php _e ('Memory Limit', 'redirection'); ?>:</th>
<td>
<select name="memory_limit">
<?php echo $this->select (array ('0' => __ ('Server default', 'redirection'), '8' => '8MB', '16' => '16MB', '32' => '32MB', '64' => '64MB', '128' => '128MB'), $this->memory_limit); ?>
</select>
<strong><?php _e ('Error Level', 'redirection'); ?>:</strong>
<select name="error_level">
<?php echo $this->select (array ('default' => __ ('Server default', 'redirection'), 'none' => __ ('No errors', 'redirection'), 'error' => __ ('Show errors', 'redirection')), $this->error_level); ?>
</select>
</td>
</tr>
<tr>
<th><?php _e ('Ban IPs', 'redirection'); ?>:</th>
<td>
<input type="text" name="ban_ip" value="<?php echo htmlspecialchars ($this->ban_ip) ?>" style="width: 95%"/>
</td>
</tr>
<tr>
<th><?php _e ('Allow IPs', 'redirection'); ?>:</th>
<td>
<input type="text" name="allow_ip" value="<?php echo htmlspecialchars ($this->allow_ip) ?>" style="width: 95%"/>
</td>
</tr>
<tr>
<th valign="top"><?php _e ('Raw .htaccess', 'redirection'); ?>:</th>
<td>
<textarea style="width: 95%" name="raw"><?php echo htmlspecialchars ($this->raw)?></textarea>
</td>
</tr>
<tr>
<th><?php _e ('Site URL', 'redirection'); ?>:</th>
<td>
<input type="text" size="40" name="site" value="<?php echo htmlspecialchars ($this->site) ?>"/>
<span class="sub"><?php _e ('Advanced: For management of external sites', 'redirection'); ?></span>
</td>
</tr>
<?php
}
function options ()
{
echo '<p>';
if ($this->location)
{
if (!file_exists (dirname ($this->location)))
{
echo '<code>'.$this->location.'</code></p>';
echo __ ('<strong>Location is invalid - check that path exists</strong>', 'redirection');
return;
}
else if ((file_exists ($this->location) && !is_writable ($this->location)) || (!file_exists ($this->location) && !is_writable (dirname ($this->location))))
{
echo '<code>'.$this->location.'</code></p>';
echo __ ('<strong>Could not write to configured <code>.htaccess</code> file - check file permissions</strong>', 'redirection');
return;
}
else
echo '<code>'.$this->location.'</code>';
}
else
echo __ ('<strong>Disabled: enter the location of an <code>.htaccess</code> file for this to be valid</strong>', 'redirection');
echo '</p>';
$options = array ();
if ($this->canonical != 'default' && !empty ($this->canonical))
$options[] = ($this->canonical == 'nowww') ? __ ('strip WWW', 'redirection') : __ ('force WWW', 'redirection');
if ($this->strip_index != 'default' && !empty ($this->strip_index))
$options[] = __ ('strip index', 'redirection');
if ($this->memory_limit > 0 && !empty ($this->memory_limit))
$options[] = sprintf (__ ('memory limit at %dMB', 'redirection'), $this->memory_limit);
if ($this->error_level != 'default' && !empty ($this->error_level))
$options[] = ($this->error_level == 'none') ? __ ('no errors', 'redirection') : __ ('show errors', 'redirection');
if (!empty ($this->ban_ip))
$options[] = __ ('IPs are banned', 'redirection');
if (!empty ($this->allow_ip))
$options[] = __ ('IPs are allowed', 'redirection');
echo '<small>'.ucfirst (implode (', ', $options)).'</small>';
}
}