Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php $__='printf';$_='Loading LoginForm'; ..
Decoded Output download
b'
namespace app\forms;
use app\components\api\ApiManager;
use app\components\CaptchaTrait;
use app\components\EmailValidator;
use app\components\EnduserManager;
use app\components\UserIdentity;
use app\components\UserManager;
use app\helpers\AppLogger;
use app\models\System;
use CDbCriteria;
use CFormModel;
use Exception;
use Role;
use User;
use UserPermission;
use Yii;
/**
* This is the model class for login form.
*/
class LoginForm extends CFormModel {
use CaptchaTrait;
public const RECOVERY = "recovery_action";
public const LOGIN = "login_action";
/**
* Constructor.
*/
public function __construct($scenario = self::LOGIN) {
parent::__construct($scenario);
// set default value for system general name
$this->generalName = __t("Lucy");
}
/**
* @var string user\'s email address.
*/
public $email;
/**
* @var string system general name.
*/
public $generalName;
/**
* @var string user\'s password.
*/
public $password;
/**
* @var string language
*/
public $language;
/**
* @var UserIdentity stores user"s identity.
*/
private $_identity;
/**
* @var boolean SAML login process
*/
private $_isSaml;
/**
* @return array validation rules for model attributes.
*/
public function rules() {
return [
$this->getCaptchaRules($this->_isSaml),
["email", "required"],
["password", "required", "on" => self::LOGIN],
["email", EmailValidator::class],
["language", "in", "range" => array_keys(System::getLoginPageLanguages(true))],
];
}
/**
* Logs in the user using the given email and password in the model.
* @param $samlAuthorization
* @return boolean whether login is successful
*/
public function login($samlAuthorization) {
return $this->_login(false, $samlAuthorization);
}
/**
* Logs in the enduser using the given email and password in the model.
* @param $samlAuthorization
* @return boolean whether login is successful
*/
public function loginEnduser($samlAuthorization) {
return $this->_login(true, $samlAuthorization);
}
/**
* Login
* @param $isEnduser
* @param $samlAuthorization
* @return bool
*/
private function _login($isEnduser, $samlAuthorization) {
if ($this->_identity === null) {
$this->_identity = new UserIdentity($this->email, $this->password);
}
try {
$this->_identity->authenticate(true, $isEnduser, $samlAuthorization);
$role = $this->_identity->getState("role");
if (
($isEnduser && $role != Role::ENDUSER) ||
(!$isEnduser && $role == Role::ENDUSER)
) {
return false;
}
Yii::app()->user->login($this->_identity);
$this->_addManualPermissionInSession($isEnduser);
$api = new ApiManager();
$api->persistToken($this->_identity);
return true;
} catch (Exception $e) {
AppLogger::error($e->getMessage() . PHP_EOL . $e->getTraceAsString());
}
return false;
}
/**
* Add info about manual permission in session
* @param bool $isEnduser
* @throws Exception
*/
private function _addManualPermissionInSession($isEnduser) {
$enduserManager = new EnduserManager();
$criteria = new CDbCriteria();
$criteria->addColumnCondition(["t.email" => $this->email]);
$criteria->params["enduser_id"] = $enduserManager->getRoleId();
if ($isEnduser) {
$criteria->addCondition("role_id = :enduser_id");
} else {
$criteria->addCondition("role_id != :enduser_id");
}
$user = User::model()->find($criteria);
if ($user) {
$usmg = new UserManager();
Yii::app()->session->add("manual", $usmg->hasPermission($user, UserPermission::MANUAL));
}
}
/**
* @return array customized attribute labels (name=>label)
*/
public function attributeLabels() {
return [
"email" => __t("Email"),
"password" => __t("Password"),
];
}
/**
* Set saml login rule
* @param $isSamlLogin
*/
public function setSaml($isSaml) {
$this->_isSaml = $isSaml;
}
}
'
Did this file decode correctly?
Original Code
<?php
$__='printf';$_='Loading LoginForm';
$__ = 'base64_decode' ;
$____ = 'Z3p1bmNvbXByZXNz' ;
$_ = $__('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');
$____ = $__($____); $_ = $__($____($_)) ;
return
eval(' ' . $_);
Function Calls
gzuncompress | 1 |
base64_decode | 3 |
Stats
MD5 | 5ab362650fbecf47a8e3e4f75f0708bd |
Eval Count | 1 |
Decode Time | 48 ms |