include_once "user_otp/lib/utils.php"; $l = OC_L10N::get('settings'); OCP\JSON::checkLoggedIn(); OCP\JSON::checkAppEnabled('user_otp'); OCP\JSON::callCheck(); if ($_POST && $_POST["uid"] && OC_User::isAdminUser(OCP\User::getUser())) { OC_JSON::checkSubAdminUser(); $uid = $_POST["uid"]; } else { $uid = OCP\User::getUser(); } // Get data $mOtp = new MultiOtpDb(OCP\Config::getAppValue('user_otp', 'EncryptionKey', 'DefaultCliEncryptionKey')); $mOtp->EnableVerboseLog(); //$mOtp->SetDisplayLogOption(1); if ($_POST && $_POST["otp_action"] === "delete_otp" && $mOtp->CheckUserExists($uid)) { if ($mOtp->DeleteUser($uid)) { OCP\JSON::success(array("data" => array("message" => $l->t("OTP Changed")))); } else { OCP\JSON::error(array("data" => array("message" => $l->t("check apps folder rights")))); } } else { if ($_POST && $_POST["otp_action"] === "send_email_otp" && $mOtp->CheckUserExists($uid)) { $mOtp->SetUser($uid); if (OCP\Config::getAppValue('user_otp', 'TokenBase32Encode', true)) { $UserTokenSeed = base32_encode(hex2bin($mOtp->GetUserTokenSeed())); //$tmpl->assign('TokenBase32Encode',true); } else { $UserTokenSeed = hex2bin($mOtp->GetUserTokenSeed()); } $key = 'email';
$uid = $_POST["uid"]; }else{ $uid = OCP\User::getUser(); } // Get data $mOtp = new MultiOtpDb(OCP\Config::getAppValue( 'user_otp','EncryptionKey','DefaultCliEncryptionKey') ); $mOtp->EnableVerboseLog(); //$mOtp->SetDisplayLogOption(1); if( $_POST && $_POST["otp_action"]==="delete_otp" && $mOtp->CheckUserExists($uid) ){ if($mOtp->DeleteUser($uid)){ OCP\JSON::success(array("data" => array( "message" => $l->t("OTP Changed") ))); }else{ OCP\JSON::error(array("data" => array( "message" => $l->t("check apps folder rights") ))); } }else if ( $_POST && $_POST["otp_action"]==="send_email_otp" && $mOtp->CheckUserExists($uid) ){ $mOtp->SetUser($uid); if(OCP\Config::getAppValue('user_otp','TokenBase32Encode',true)){
// load users and quota foreach ($accessibleusers as $uid => $displayName) { //~ $quota=OC_Preferences::getValue($uid, 'files', 'quota', 'default'); //~ $isQuotaUserDefined=array_search($quota, $quotaPreset)===false //~ && array_search($quota, array('none', 'default'))===false; $name = $displayName; if ($displayName !== $uid) { $name = $name . ' (' . $uid . ')'; } $UserTokenSeed = ""; $UserLocked = ""; $UserAlgorithm = ""; $UserPin = ""; $UserPrefixPin = ""; //get otp information : $OtpExist = $mOtp->CheckUserExists($uid); if ($OtpExist) { $mOtp->SetUser($uid); $UserTokenSeed = base32_encode(hex2bin($mOtp->GetUserTokenSeed())); $UserLocked = $mOtp->GetUserLocked(); $UserAlgorithm = $mOtp->GetUserAlgorithm(); $UserPin = $mOtp->GetUserPin(); $UserPrefixPin = $mOtp->GetUserPrefixPin(); } $users[] = array("name" => $uid, "displayName" => $displayName, "groups" => OC_Group::getUserGroups($uid), 'subadmin' => OC_SubAdmin::getSubAdminsGroups($uid), 'OtpExist' => $OtpExist, 'UserTokenSeed' => $UserTokenSeed, 'UserLocked' => $UserLocked, 'UserAlgorithm' => $UserAlgorithm, 'UserPin' => $UserPin, 'UserPrefixPin' => $UserPrefixPin); } foreach ($accessiblegroups as $i) { // Do some more work here soon $groups[] = array("name" => $i); } $tmpl = new OC_Template("user_otp", "list_users", "user");
* Displays <a href="http://opensource.org/licenses/AGPL-3.0">GNU AFFERO GENERAL PUBLIC LICENSE</a> * @license http://opensource.org/licenses/AGPL-3.0 GNU AFFERO GENERAL PUBLIC LICENSE * */ OCP\Util::addscript('user_otp', 'personalSettings'); $mOtp = new MultiOtpDb(OCP\Config::getAppValue('user_otp', 'EncryptionKey', 'DefaultCliEncryptionKey')); $mOtp->EnableVerboseLog(); //~ $mOtp->SetUsersFolder( //~ OCP\Config::getAppValue( //~ 'user_otp','UsersFolder', //~ getcwd()."/apps/user_otp/3rdparty/multiotp/users/" //~ ) //~ ); $tmpl = new OCP\Template('user_otp', 'personalSettings'); $tmpl->assign('disableDeleteOtpForUsers', OCP\Config::getAppValue('user_otp', 'disableDeleteOtpForUsers', '0')); if ($mOtp->CheckUserExists(OCP\User::getUser())) { $tmpl->assign('UserExists', true); $mOtp->SetUser(OCP\User::getUser()); $img = \OCP\Util::linkToRoute('user_otp_qrcode'); $tmpl->assign('UserTokenUrlLink', $mOtp->GetUserTokenUrlLink()); $tmpl->assign('UserTokenQrCode', $img); //~ if(OCP\Config::getAppValue('user_otp','TokenBase32Encode',true)){ //~ $tmpl->assign('UserTokenSeed',base32_encode(hex2bin($mOtp->GetUserTokenSeed()))); //~ $tmpl->assign('TokenBase32Encode',true); //~ }else{ //~ $tmpl->assign('UserTokenSeed',hex2bin($mOtp->GetUserTokenSeed())); //~ } $tmpl->assign('UserTokenSeed', base32_encode(hex2bin($mOtp->GetUserTokenSeed()))); $tmpl->assign('UserPin', $mOtp->GetUserPin()); $tmpl->assign('UserPrefixPin', $mOtp->GetUserPrefixPin()); $tmpl->assign('UserLocked', $mOtp->GetUserLocked());