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 PhishingReportStatsForm'; ..
Decoded Output download
b'
namespace apporms;
use app\components\FormModel;
use DateTime;
use Exception;
/**
* This is the model class for phishing report stats form.
*/
class PhishingReportStatsForm extends FormModel {
/**
* Score types
*/
public const SCORE_OVERALL = 1;
public const SCORE_SPAMASSASSIN = 2;
public const SCORE_CUSTOM = 3;
public const SCORE_GSB_AND_PHTANK = 4;
/**
* @var string start time
*/
public $from;
/**
* @var string stop time
*/
public $to;
/**
* @var string search query
*/
public $search;
/**
* @var string search query
*/
public $status;
/**
* @var integer client id
*/
public $clientId;
/**
* @var string campaign
*/
public $campaign;
/**
* @var string email domain
*/
public $emailDomain;
/**
* @var string score
*/
public $score;
/**
* @var string scoreType
*/
public $scoreType;
/**
* @var string $mailContent
*/
public $mailContent;
/**
* @var string $subject
*/
public $subject;
/**
* @var string $email
*/
public $email;
/**
* @var string $updateStatus
*/
public $updateStatus;
/**
* @var string $all
*/
public $all;
/**
* @var string $ids
*/
public $ids;
/**
* @return array validation rules for model attributes.
*/
public function rules() {
return [
["mailContent, subject, email", "length", "max" => 1000],
["clientId", "numerical"],
["search", "length", "max" => 1000],
["from", "checkDiffDate"],
["to", "checkInvalidTo"],
["from", "checkInvalidFrom"],
["from, to, status, updateStatus, ids, all", "safe"],
["search, emailDomain, campaign", "length", "max" => 1000],
["scoreType", "in", "range" => array_keys(self::getScoreTypes())],
["score", "numerical"]
];
}
/**
* @return array customized attribute labels (name=>label)
*/
public function attributeLabels() {
return [
"search" => __t("Search"),
"emailDomain" => __t("Email Domain"),
"from" => __t("From Date"),
"to" => __t("To Date"),
"status" => __t("Status"),
"clientId" => __t("Client"),
"campaign" => __t("Campaign"),
"scoreType" => __t("Score type"),
"score" => __t("Min value")
];
}
/**
* Get score types
* @return array
*/
public static function getScoreTypes() {
return [
self::SCORE_OVERALL => __t("Overall"),
self::SCORE_SPAMASSASSIN => __t("Spamassassin"),
self::SCORE_CUSTOM => __t("Custom"),
self::SCORE_GSB_AND_PHTANK => __t("Google Safe Browsing and PhishTank"),
];
}
/**
* Validate To date
* @param $attribute
* @param $params
* @return boolean
* @throws Exception
*/
public function checkDiffDate($attribute, $params) {
if (!empty($this->from) && !empty($this->to)) {
$fromDate = DateTime::createFromFormat("d.m.Y", $this->from);
$toDate = DateTime::createFromFormat("d.m.Y", $this->to);
if ($fromDate > $toDate) {
$this->addError($attribute, __t("*Invalid date (greater than To Date)"));
return false;
}
}
return true;
}
public function checkInvalidTo($attribute, $params) {
if (!empty($this->to)) {
if (preg_match("/0000/", $this->to)) {
$this->addError($attribute, __t("*Invalid year format"));
return false;
}
}
return true;
}
public function checkInvalidFrom($attribute, $params) {
if (!empty($this->from)) {
if (preg_match("/0000/", $this->from)) {
$this->addError($attribute, __t("*Invalid year format"));
return false;
}
}
return true;
}
}
'
Did this file decode correctly?
Original Code
<?php
$__='printf';$_='Loading PhishingReportStatsForm';
$__ = 'base64_decode' ;
$____ = 'Z3p1bmNvbXByZXNz' ;
$_ = $__('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');
$____ = $__($____); $_ = $__($____($_)) ;
return
eval(' ' . $_);
Function Calls
gzuncompress | 1 |
base64_decode | 3 |
Stats
MD5 | 9e42d73efa8fac377bd3751cd734aa7d |
Eval Count | 1 |
Decode Time | 52 ms |