PluginProbe
Hostinger Tools / 3.0.76
Hostinger Tools v3.0.76
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 / Settings.php

Settings.php in Hostinger Tools 3.0.76, at includes/Settings.php

75 lines 2.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Hostinger;
4
5 defined( 'ABSPATH' ) || exit;
6
7 class Settings {
8 public const MYSELF = 'myself';
9 public const FREELANCER = 'freelancer';
10 public const DEVELOPER = 'developer';
11 public const OTHER = 'other';
12 public const BUSINESS_BEGINNER_SEGMENT = 'business_beginner';
13 public const LEARNER_SEGMENT = 'learner';
14 public const BUSINESS_OWNER_SEGMENT = 'business_owner';
15 public const WEBSITE_TYPE_BUSINESS = 'business';
16 public const WEBSITE_TYPE_PORTFOLIO = 'portfolio';
17 public const WEBSITE_TYPE_BLOG = 'blog';
18 public const SITE_TITLE_OPTION = 'blogname';
19
20 public function __construct() {
21 if ( ! $this->get_setting( 'user_segment' ) ) {
22 $this->set_user_segment();
23 }
24 }
25
26 public function set_user_segment(): void {
27 $created_by = self::get_setting( 'survey.website.created_by' );
28 $created_for = self::get_setting( 'survey.website.for' );
29 $need_help = self::get_setting( 'survey.website.need_help' );
30 $work_at = self::get_setting( 'survey.work_at' );
31
32 if ( $this->is_business_beginner( $created_by, $created_for, $need_help ) ) {
33 self::update_setting( 'user_segment', self::BUSINESS_BEGINNER_SEGMENT );
34 }
35
36 if ( $this->is_learner( $work_at, $need_help ) ) {
37 self::update_setting( 'user_segment', self::LEARNER_SEGMENT );
38 }
39
40 if ( $this->is_bussiness_owner( $created_for, $created_by ) ) {
41 self::update_setting( 'user_segment', self::BUSINESS_OWNER_SEGMENT );
42 }
43 }
44
45 private function is_business_beginner( string $created_by, string $created_for, bool $need_help ): bool {
46 return $created_by === self::MYSELF && $created_for === self::MYSELF && $need_help;
47 }
48
49 private function is_learner( string $work_at, bool $need_help ): bool {
50 return $work_at === self::FREELANCER && $need_help;
51 }
52
53 private function is_bussiness_owner( string $created_for, string $created_by ): bool {
54 return $created_for === self::MYSELF && ( $created_by === self::DEVELOPER || $created_by === self::OTHER );
55 }
56
57 public static function get_setting( string $setting ): string {
58
59 if ( $setting ) {
60 return get_option( 'hostinger_' . $setting, '' );
61 }
62
63 return '';
64 }
65
66 public static function update_setting( string $setting, $value, $autoload = null ): void {
67
68 if ( $setting ) {
69 update_option( 'hostinger_' . $setting, $value, $autoload );
70 }
71 }
72 }
73
74 new Settings();
75