Completed
Push — development ( 2b1a43...b28ccc )
by Ashutosh
11:47 queued 01:44
created

ApiKeySettings::updatezohoDetails()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 5
dl 0
loc 8
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace App\Traits;
4
5
use DateTime;
6
use App\ApiKey;
7
use App\Model\Common\StatusSetting;
8
use App\Model\Common\Mailchimp\MailchimpSetting;
9
use Illuminate\Http\Request;
10
11
//////////////////////////////////////////////////////////////
12
//TRAIT FOR SAVING API STATUS AND API KEYS //
13
////////////////////////////////////////////////////////////////
14
15
trait ApiKeySettings
16
{
17
    public function licenseDetails(Request $request)
18
    {
19
        $status = $request->input('status');
20
        $licenseApiSecret = $request->input('license_api_secret');
21
        $licenseApiUrl = $request->input('license_api_url');
22
        StatusSetting::where('id', 1)->update(['license_status'=>$status]);
23
        ApiKey::where('id', 1)->update(['license_api_secret'=>$licenseApiSecret, 'license_api_url'=>$licenseApiUrl]);
24
25
        return ['message' => 'success', 'update'=>'Licensing Settings Updated'];
26
    }
27
28
    //Save Auto Update status in Database
29
    public function updateDetails(Request $request)
30
    {
31
        $status = $request->input('status');
32
        $updateApiSecret = $request->input('update_api_secret');
33
        $updateApiUrl = $request->input('update_api_url');
34
        StatusSetting::where('id', 1)->update(['update_settings'=>$status]);
35
        ApiKey::where('id', 1)->update(['update_api_secret'=>$updateApiSecret, 'update_api_url'=>$updateApiUrl]);
36
37
        return ['message' => 'success', 'update'=>'Auto Update Settings Updated'];
38
    }
39
40
    /*
41
     * Update Msg91 Details In Database
42
     */
43
    public function updatemobileDetails(Request $request)
44
    {
45
        $status = $request->input('status');
46
        $key = $request->input('msg91_auth_key');
47
        StatusSetting::find(1)->update(['msg91_status'=>$status]);
48
        ApiKey::find(1)->update(['msg91_auth_key'=>$key]);
49
50
        return ['message' => 'success', 'update'=>'Msg91 Settings Updated'];
51
    }
52
53
    /*
54
     * Update Zoho Details In Database
55
     */
56
    public function updatezohoDetails(Request $request)
57
    {
58
        $status = $request->input('status');
59
        $key = $request->input('zoho_key');
60
        StatusSetting::find(1)->update(['zoho_status'=>$status]);
61
        ApiKey::find(1)->update(['zoho_api_key'=>$key]);
62
63
        return ['message' => 'success', 'update'=>'Zoho Settings Updated'];
64
    }
65
66
    /*
67
     * Update Email Status In Database
68
     */
69
    public function updateEmailDetails(Request $request)
70
    {
71
        $status = $request->input('status');
72
        StatusSetting::find(1)->update(['emailverification_status'=>$status]);
73
74
        return ['message' => 'success', 'update'=>'Email Verification Status Updated'];
75
    }
76
77
    /*
78
    * Update Twitter Details In Database
79
    */
80
    public function updatetwitterDetails(Request $request)
81
    {
82
        $consumer_key = $request->input('consumer_key');
83
        $consumer_secret = $request->input('consumer_secret');
84
        $access_token = $request->input('access_token');
85
        $token_secret = $request->input('token_secret');
86
        $status = $request->input('status');
87
        StatusSetting::find(1)->update(['twitter_status'=>$status]);
88
        ApiKey::find(1)->update(['twitter_consumer_key'=>$consumer_key, 'twitter_consumer_secret'=>$consumer_secret, 'twitter_access_token'=>$access_token, 'access_tooken_secret'=>$token_secret]);
0 ignored issues
show
Coding Style introduced by
This line exceeds maximum limit of 120 characters; contains 196 characters

Overly long lines are hard to read on any screen. Most code styles therefor impose a maximum limit on the number of characters in a line.

Loading history...
89
90
        return ['message' => 'success', 'update'=>'Twitter Settings Updated'];
91
    }
92
93
    /*
94
    * Update Razorpay Details In Database
95
    */
96
    public function updateRazorpayDetails(Request $request)
97
    {
98
        $rzp_key = $request->input('rzp_key');
99
        $rzp_secret = $request->input('rzp_secret');
100
        $apilayer_key = $request->input('apilayer_key');
101
        $status = $request->input('status');
102
        StatusSetting::find(1)->update(['rzp_status'=>$status]);
103
        ApiKey::find(1)->update(['rzp_key'=>$rzp_key, 'rzp_secret'=>$rzp_secret, 'apilayer_key'=>$apilayer_key]);
104
105
        return ['message' => 'success', 'update'=>'Razorpay Settings Updated'];
106
    }
107
108
    public function updateMailchimpProductStatus(Request $request)
109
    {
110
        StatusSetting::first()->update(['mailchimp_product_status'=>$request->input('status')]);
111
        return ['message' => 'success', 'update'=>'Mailchimp Products Group Status Updated'];
112
    }
113
114
    public function updateMailchimpIsPaidStatus(Request $request)
115
    {
116
        StatusSetting::first()->update(['mailchimp_ispaid_status'=>$request->input('status')]);
117
        return ['message' => 'success', 'update'=>'Mailchimp is Paid Status Updated'];
118
    }
119
120
    public function updateMailchimpDetails(Request $request)
121
    {
122
       $chimp_auth_key =  $request->input('mailchimp_auth_key');
123
       $status =  $request->input('status');
124
       StatusSetting::find(1)->update(['mailchimp_status'=>$status]);
125
       MailchimpSetting::find(1)->update(['api_key'=>$chimp_auth_key]);
126
       return ['message' => 'success', 'update'=>'Mailchimp Settings Updated'];
127
    }
128
129
     /**
130
     * Get Date.
131
     */
132
    public function getDate($dbdate)
133
    {
134
        $created = new DateTime($dbdate);
135
        $tz = \Auth::user()->timezone()->first()->name;
136
        $created->setTimezone(new DateTimeZone($tz));
0 ignored issues
show
Bug introduced by
The type App\Traits\DateTimeZone was not found. Did you mean DateTimeZone? If so, make sure to prefix the type with \.
Loading history...
137
        $date = $created->format('M j, Y, g:i a '); //5th October, 2018, 11:17PM
138
        $newDate = $date;
139
140
        return $newDate;
141
    }
142
143
    public function getDateFormat($dbdate = '')
144
    {
145
        $created = new DateTime($dbdate);
146
        $tz = \Auth::user()->timezone()->first()->name;
147
        $created->setTimezone(new DateTimeZone($tz));
148
        $date = $created->format('Y-m-d H:m:i');
149
150
        return $date;
151
    }
152
153
    public function saveConditions()
154
    {
155
        if (\Input::get('expiry-commands') && \Input::get('activity-commands')) {
156
            $expiry_commands = \Input::get('expiry-commands');
157
            $expiry_dailyAt = \Input::get('expiry-dailyAt');
158
            $activity_commands = \Input::get('activity-commands');
159
            $activity_dailyAt = \Input::get('activity-dailyAt');
160
            $activity_command = $this->getCommand($activity_commands, $activity_dailyAt);
161
            $expiry_command = $this->getCommand($expiry_commands, $expiry_dailyAt);
162
            $jobs = ['expiryMail' => $expiry_command, 'deleteLogs' =>  $activity_command];
163
            $this->storeCommand($jobs);
164
        }
165
    }
166
167
    public function getCommand($command, $daily_at)
168
    {
169
        if ($command == 'dailyAt') {
170
            $command = "dailyAt,$daily_at";
171
        }
172
173
        return $command;
174
    }
175
176
    public function storeCommand($array = [])
177
    {
178
        $command = new \App\Model\Mailjob\Condition();
179
        $commands = $command->get();
180
        if ($commands->count() > 0) {
181
            foreach ($commands as $condition) {
182
                $condition->delete();
183
            }
184
        }
185
        if (count($array) > 0) {
186
            foreach ($array as $key => $save) {
187
                $command->create([
188
                    'job'   => $key,
189
                    'value' => $save,
190
                ]);
191
            }
192
        }
193
    }
194
}
195