PluginProbe
Hostinger Tools / 3.0.49
Hostinger Tools v3.0.49
3.0.77 3.0.76 3.0.75 3.0.74 3.0.73 3.0.72 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 All 108 releases
hostinger / includes / LlmsTxtGenerator / LlmsTxtFileHelper.php

LlmsTxtFileHelper.php in Hostinger Tools 3.0.49, at includes/LlmsTxtGenerator/LlmsTxtFileHelper.php

62 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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