@@ -59,10 +59,101 @@ public function __construct(AdapterInterface $oDbAdapter,AccountTable $oTableGat
59
59
* @return ViewModel - View Object with Data from Controller
60
60
*/
61
61
public function indexAction () {
62
+ # Set Layout based on users theme
63
+ $ this ->setThemeBasedLayout ('account ' );
64
+
65
+ # Check license
66
+ if (!$ this ->checkLicense ('user ' )) {
67
+ $ this ->flashMessenger ()->addErrorMessage ('You have no active license for oneplace ' );
68
+ $ this ->redirect ()->toRoute ('home ' );
69
+ }
70
+
71
+ $ oRequest = $ this ->getRequest ();
72
+ if ($ oRequest ->isPost ()) {
73
+ $ sApiKey = $ oRequest ->getPost ('plc_api_key ' );
74
+ $ sApiToken = $ oRequest ->getPost ('plc_api_token ' );
75
+ $ sApiServer = $ oRequest ->getPost ('plc_api_server ' );
76
+ $ sApiStore = $ oRequest ->getPost ('plc_api_store ' );
77
+
78
+ # Delete current settings
79
+ CoreEntityController::$ aCoreTables ['settings ' ]->delete (['settings_key ' =>'license-server-apikey ' ]);
80
+ CoreEntityController::$ aCoreTables ['settings ' ]->delete (['settings_key ' =>'license-server-apitoken ' ]);
81
+ CoreEntityController::$ aCoreTables ['settings ' ]->delete (['settings_key ' =>'license-server-url ' ]);
82
+ CoreEntityController::$ aCoreTables ['settings ' ]->delete (['settings_key ' =>'store-server-apikey ' ]);
83
+ CoreEntityController::$ aCoreTables ['settings ' ]->delete (['settings_key ' =>'store-server-apitoken ' ]);
84
+ CoreEntityController::$ aCoreTables ['settings ' ]->delete (['settings_key ' =>'store-server-url ' ]);
85
+
86
+ # Save API Key
87
+ CoreEntityController::$ aCoreTables ['settings ' ]->insert ([
88
+ 'settings_key ' =>'license-server-apikey ' ,
89
+ 'settings_value ' =>$ sApiKey ,
90
+ ]);
91
+
92
+ # Save API Secret Token
93
+ CoreEntityController::$ aCoreTables ['settings ' ]->insert ([
94
+ 'settings_key ' =>'license-server-apitoken ' ,
95
+ 'settings_value ' =>$ sApiToken ,
96
+ ]);
97
+
98
+ # Save API Server
99
+ CoreEntityController::$ aCoreTables ['settings ' ]->insert ([
100
+ 'settings_key ' =>'license-server-url ' ,
101
+ 'settings_value ' =>$ sApiServer ,
102
+ ]);
103
+
104
+ # Save Store API Key
105
+ CoreEntityController::$ aCoreTables ['settings ' ]->insert ([
106
+ 'settings_key ' =>'store-server-apikey ' ,
107
+ 'settings_value ' =>$ sApiKey ,
108
+ ]);
109
+
110
+ # Save Store API Secret Token
111
+ CoreEntityController::$ aCoreTables ['settings ' ]->insert ([
112
+ 'settings_key ' =>'store-server-apitoken ' ,
113
+ 'settings_value ' =>$ sApiToken ,
114
+ ]);
115
+
116
+ # Save Store API Server
117
+ CoreEntityController::$ aCoreTables ['settings ' ]->insert ([
118
+ 'settings_key ' =>'store-server-url ' ,
119
+ 'settings_value ' =>$ sApiStore ,
120
+ ]);
121
+
122
+ $ this ->flashMessenger ()->addSuccessMessage ('You are now connected to onep.lc ' );
123
+ return $ this ->redirect ()->toRoute ('home ' );
124
+ }
62
125
63
126
# You can just use the default function and customize it via hooks
64
127
# or replace the entire function if you need more customization
65
- return $ this ->generateIndexView ('account ' );
128
+ $ iInstanceID = CoreEntityController::$ oSession ->aLicences ['info-instance-id ' ];
129
+ if ($ iInstanceID == 0 || empty ($ iInstanceID )) {
130
+ return new ViewModel ([
131
+ 'oInstance ' =>false ,
132
+ 'oLicResponse ' =>false ,
133
+ ]);
134
+ }
135
+ $ sApiURL = CoreEntityController::$ aGlobalSettings ['license-server-url ' ].'/instance/api/get/ ' .$ iInstanceID .'?authkey= ' .CoreEntityController::$ aGlobalSettings ['license-server-apikey ' ].'&authtoken= ' .CoreEntityController::$ aGlobalSettings ['license-server-apitoken ' ];
136
+ $ sAnswer = file_get_contents ($ sApiURL );
137
+
138
+ $ oResponse = json_decode ($ sAnswer );
139
+
140
+ if (is_object ($ oResponse )) {
141
+ if ($ oResponse ->state == 'success ' ) {
142
+ $ sLicApiURL = CoreEntityController::$ aGlobalSettings ['license-server-url ' ].'/license/api/list/ ' .$ iInstanceID .'?authkey= ' .CoreEntityController::$ aGlobalSettings ['license-server-apikey ' ].'&authtoken= ' .CoreEntityController::$ aGlobalSettings ['license-server-apitoken ' ].'&modulename=all&systemkey= ' .CoreEntityController::$ aGlobalSettings ['license-server-apikey ' ];
143
+ $ sLicAnswer = file_get_contents ($ sLicApiURL );
144
+
145
+ $ oLicResponse = json_decode ($ sLicAnswer );
146
+
147
+ return new ViewModel ([
148
+ 'oInstance ' =>$ oResponse ->oItem ,
149
+ 'oLicResponse ' =>$ oLicResponse ,
150
+ ]);
151
+ }
152
+ }
153
+
154
+ echo 'error while connecting to you onePlace account at ' .$ sApiURL ;
155
+
156
+ return false ;
66
157
}
67
158
68
159
/**
0 commit comments