PluginProbe ʕ •ᴥ•ʔ
Hostinger Tools / 3.0.71
Hostinger Tools v3.0.71
3.0.71 3.0.70 3.0.69 3.0.68 3.0.67 3.0.66 1.8.1 1.8.2 1.8.3 1.9.1 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.4 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.2 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 3.0.0 3.0.10 3.0.11 3.0.12 3.0.13 3.0.14 3.0.15 3.0.16 3.0.17 3.0.18 3.0.19 3.0.2 3.0.20 3.0.21 3.0.22 3.0.23 3.0.24 3.0.25 3.0.26 3.0.27 3.0.28 3.0.29 3.0.3 3.0.30 3.0.31 3.0.32 3.0.33 3.0.34 3.0.35 3.0.36 3.0.37 3.0.38 3.0.39 3.0.4 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.0.46 3.0.47 3.0.48 3.0.49 3.0.5 3.0.50 3.0.51 3.0.52 3.0.53 3.0.54 3.0.55 3.0.56 3.0.57 3.0.58 3.0.59 3.0.6 3.0.60 3.0.61 3.0.62 3.0.65 3.0.7 3.0.8 3.0.9 trunk 1.8.0
hostinger / includes / LlmsTxtGenerator / LlmsTxtFileHelper.php
hostinger / includes / LlmsTxtGenerator Last commit date
LlmsTxtFileHelper.php 10 months ago LlmsTxtGenerator.php 2 weeks ago LlmsTxtParser.php 10 months ago
LlmsTxtFileHelper.php
62 lines
1 <?php
2
3 namespace Hostinger\LlmsTxtGenerator;
4
5 defined( 'ABSPATH' ) || exit;
6
7 class LlmsTxtFileHelper {
8
9 public const HOSTINGER_LLMSTXT_FILENAME = 'llms.txt';
10
11 public function is_user_generated_file(): bool {
12 if ( ! $this->llmstxt_file_exists() ) {
13 return false;
14 }
15
16 $content = $this->get_content();
17
18 if ( $content === false ) {
19 return false;
20 }
21
22 return ! str_contains( $content, LlmsTxtGenerator::HOSTINGER_LLMSTXT_SIGNATURE );
23 }
24
25 public function get_content(): string {
26 global $wp_filesystem;
27 $this->init_wp_filesystem();
28 return $wp_filesystem->get_contents( $this->get_llmstxt_file_path() );
29 }
30
31 public function create( string $content ): void {
32 global $wp_filesystem;
33 $this->init_wp_filesystem();
34 $wp_filesystem->put_contents( $this->get_llmstxt_file_path(), $content );
35 }
36
37 public function delete(): void {
38 if ( $this->llmstxt_file_exists() && ! $this->is_user_generated_file() ) {
39 global $wp_filesystem;
40 $this->init_wp_filesystem();
41 $wp_filesystem->delete( $this->get_llmstxt_file_path() );
42 }
43 }
44
45 public function get_llmstxt_file_path(): string {
46 return ABSPATH . self::HOSTINGER_LLMSTXT_FILENAME;
47 }
48
49 public function get_llmstxt_file_url(): string {
50 return site_url( LlmsTxtFileHelper::HOSTINGER_LLMSTXT_FILENAME );
51 }
52
53 public function llmstxt_file_exists(): bool {
54 return file_exists( $this->get_llmstxt_file_path() );
55 }
56
57 protected function init_wp_filesystem(): void {
58 require_once ABSPATH . '/wp-admin/includes/file.php';
59 WP_Filesystem();
60 }
61 }
62