Plugins
This commit is contained in:
@@ -1,77 +0,0 @@
|
||||
<?php
|
||||
namespace Imagify\WriteFile;
|
||||
|
||||
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
||||
|
||||
/**
|
||||
* Abstract class used to add and remove contents to the .htaccess file.
|
||||
*
|
||||
* @since 1.9
|
||||
* @author Grégory Viguier
|
||||
*/
|
||||
abstract class AbstractApacheDirConfFile extends AbstractWriteDirConfFile {
|
||||
|
||||
/**
|
||||
* Insert new contents into the directory conf file.
|
||||
* Replaces existing marked info. Creates file if none exists.
|
||||
*
|
||||
* @since 1.9
|
||||
* @access protected
|
||||
* @author Grégory Viguier
|
||||
*
|
||||
* @param string $new_contents Contents to insert.
|
||||
* @return bool|\WP_Error True on write success, a \WP_Error object on failure.
|
||||
*/
|
||||
protected function insert_contents( $new_contents ) {
|
||||
$contents = $this->get_file_contents();
|
||||
|
||||
if ( is_wp_error( $contents ) ) {
|
||||
return $contents;
|
||||
}
|
||||
|
||||
$start_marker = '# BEGIN ' . static::TAG_NAME;
|
||||
$end_marker = '# END ' . static::TAG_NAME;
|
||||
|
||||
// Remove previous rules.
|
||||
$contents = preg_replace( '/\s*?' . preg_quote( $start_marker, '/' ) . '.*' . preg_quote( $end_marker, '/' ) . '\s*?/isU', "\n\n", $contents );
|
||||
$contents = trim( $contents );
|
||||
|
||||
if ( $new_contents ) {
|
||||
$contents = $new_contents . "\n\n" . $contents;
|
||||
}
|
||||
|
||||
return $this->put_file_contents( $contents );
|
||||
}
|
||||
|
||||
/**
|
||||
* Get new contents to write into the file.
|
||||
*
|
||||
* @since 1.9
|
||||
* @access public
|
||||
* @author Grégory Viguier
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_new_contents() {
|
||||
$contents = parent::get_new_contents();
|
||||
|
||||
if ( ! $contents ) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return '# BEGIN ' . static::TAG_NAME . "\n" . $contents . "\n# END " . static::TAG_NAME;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the unfiltered path to the file.
|
||||
*
|
||||
* @since 1.9
|
||||
* @access protected
|
||||
* @author Grégory Viguier
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function get_raw_file_path() {
|
||||
return $this->filesystem->get_site_root() . '.htaccess';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user