예제 #1
0
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';
예제 #2
0
	$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)){
예제 #3
0
// 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");
예제 #4
0
 * 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());