PluginProbe
Hostinger Tools / 1.9.4
Hostinger Tools v1.9.4
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 / class-hostinger-settings.php

class-hostinger-settings.php in Hostinger Tools 1.9.4, at includes/class-hostinger-settings.php

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