Added Vodia Identity Switcher for Xinon Users
This commit is contained in:
@@ -313,6 +313,31 @@ class UserController extends mfBaseController
|
||||
$pak->delete();
|
||||
}
|
||||
|
||||
// vodia identity data
|
||||
$vid = new WorkerFlag($user->id, "vodia_identity_domain");
|
||||
if($r->vodia_identity_domain) {
|
||||
$vid->value($r->vodia_identity_domain);
|
||||
$vid->save();
|
||||
} else {
|
||||
$vid->delete();
|
||||
}
|
||||
|
||||
$viu = new WorkerFlag($user->id, "vodia_identity_username");
|
||||
if($r->vodia_identity_username) {
|
||||
$viu->value($r->vodia_identity_username);
|
||||
$viu->save();
|
||||
} else {
|
||||
$viu->delete();
|
||||
}
|
||||
|
||||
$vdi = new WorkerFlag($user->id, "vodia_identity_default");
|
||||
if($r->vodia_identity_default) {
|
||||
$vdi->value($r->vodia_identity_default);
|
||||
$vdi->save();
|
||||
} else {
|
||||
$vdi->delete();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -406,6 +431,12 @@ class UserController extends mfBaseController
|
||||
case "endse":
|
||||
$return = $this->endSuperexpertApi();
|
||||
break;
|
||||
case "getVodiaIdentity":
|
||||
$return = $this->getVodiaIdentityApi();
|
||||
break;
|
||||
case "setVodiaIdentity":
|
||||
$return = $this->setVodiaIdentityApi();
|
||||
break;
|
||||
default:
|
||||
$return = false;
|
||||
}
|
||||
@@ -419,6 +450,74 @@ class UserController extends mfBaseController
|
||||
$this->returnJson($data);
|
||||
}
|
||||
|
||||
private function getVodiaIdentityApi() {
|
||||
if(!ENABLE_VODIA_IDENTITY_SWITCHER) {
|
||||
return ["enabled" => false];
|
||||
}
|
||||
|
||||
$vodia = new Vodia_Api(VODIA_API_URL, VODIA_API_ADMIN_USER, VODIA_API_ADMIN_PASS);
|
||||
|
||||
$domain = $this->me->getFlag("vodia_identity_domain")->value();
|
||||
$username = $this->me->getFlag("vodia_identity_username")->value();
|
||||
$default = $this->me->getFlag("vodia_identity_default")->value();
|
||||
|
||||
|
||||
if(!$domain || !$username || !$default) {
|
||||
return ["enabled" => false];
|
||||
}
|
||||
|
||||
$current = $vodia->getUsersetting($domain, $username, "ani");
|
||||
if($current) {
|
||||
if(str_replace(" ", "", $current) == str_replace(" ", "", $default)) {
|
||||
$current = $default;
|
||||
}
|
||||
} else {
|
||||
$current = $default;
|
||||
}
|
||||
|
||||
return [
|
||||
"enabled" => true,
|
||||
"domain" => $domain,
|
||||
"username" => $username,
|
||||
"default" => $default,
|
||||
"default_number" => str_replace(" ", "", $default),
|
||||
"current" => $current,
|
||||
"identities" => VODIA_OUTBOUND_IDENTITIES,
|
||||
];
|
||||
}
|
||||
|
||||
private function setVodiaIdentityApi() {
|
||||
if(!ENABLE_VODIA_IDENTITY_SWITCHER) {
|
||||
return ["enabled" => false];
|
||||
}
|
||||
|
||||
$number = $this->request->number;
|
||||
if(!$number) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// expects number to start with +
|
||||
if(!substr($number, 0, 1) == "+") {
|
||||
return false;
|
||||
}
|
||||
|
||||
$domain = $this->me->getFlag("vodia_identity_domain")->value();
|
||||
$username = $this->me->getFlag("vodia_identity_username")->value();
|
||||
|
||||
if(!$domain || !$username) {
|
||||
return ["enabled" => false];
|
||||
}
|
||||
|
||||
$vodia = new Vodia_Api(VODIA_API_URL, VODIA_API_ADMIN_USER, VODIA_API_ADMIN_PASS);
|
||||
|
||||
if(!$vodia->setUsersettings($domain, $username, ["ani" => $number])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return ["enabled" => true, "number" => $number];
|
||||
|
||||
}
|
||||
|
||||
private function startSuperexpertApi() {
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
|
||||
Reference in New Issue
Block a user