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 use Joomla\CMS\Date\Date; defined("\x5f\112\105\x58\105\x43") or die("\x52\145..
Decoded Output download
<?php
use Joomla\CMS\Date\Date;
defined("_JEXEC") or die("Restricted access");
require_once JPATH_ROOT . DIRECTORY_SEPARATOR . "administrator" . DIRECTORY_SEPARATOR . "components" . DIRECTORY_SEPARATOR . "com_miniorange_importexportusers" . DIRECTORY_SEPARATOR . "helpers" . DIRECTORY_SEPARATOR . "mo_customer_setup.php";
class MoImportExportUtility
{
public static function cle()
{
$mO = self::getCustomerDetails();
$Ey = isset($mO["licenseExpiry"]) ? $mO["licenseExpiry"] : "0000-00-00 00:00:00";
if (!($Ey != "0000-00-00 00:00:00")) {
goto hx;
}
$Ij = strtotime($Ey);
$wV = $mO["plan_type"];
$bW = (int) floor(($Ij - time()) / 60 / 60 / 24);
if ($bW <= 30 && $bW > 15 && !$mO["miniorange_exli_thirtyd"]) {
goto O5;
}
if ($bW <= 15 && $bW > 5 && !$mO["miniorange_exli_fifteend"]) {
goto s0;
}
if ($bW <= 10 && $bW > 5 && !$mO["miniorange_exli_tenth"] && $wV == "monthly") {
goto C0;
}
if ($bW <= 5 && $bW > 1 && !$mO["miniorange_exli_fived"]) {
goto qB;
}
if ($bW == 1 && !$mO["miniorange_exli_first"]) {
goto cg;
}
if ($bW == 0 && !$mO["miniorange_exlid"]) {
goto R3;
}
if (!($bW < 0 && !$mO["miniorange_lexpired"])) {
goto Ru;
}
if (self::licensevalidity($Ij)) {
goto Zp;
}
self::_update_lid("miniorange_lexpired");
json_decode(self::send_email_alert($Ey, 4, $wV, 0, $bW), true);
self::freeLicenseKey();
header("Location: " . JURI::base());
Zp:
Ru:
goto p4;
R3:
if (self::licensevalidity($Ij)) {
goto M1;
}
self::_update_lid("miniorange_exlid");
json_decode(self::send_email_alert($Ey, 2, $wV, 0, $bW), true);
M1:
p4:
goto w9;
cg:
if (self::licensevalidity($Ij)) {
goto uB;
}
self::_update_lid("miniorange_exli_first");
json_decode(self::send_email_alert($Ey, 3, $wV, 0, $bW), true);
uB:
w9:
goto Io;
qB:
if (self::licensevalidity($Ij)) {
goto rs;
}
self::_update_lid("miniorange_exli_fived");
json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true);
rs:
Io:
goto HZ;
C0:
if (self::licensevalidity($Ij)) {
goto TN;
}
self::_update_lid("miniorange_exli_tenth");
json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true);
TN:
HZ:
goto gr;
s0:
if (self::licensevalidity($Ij)) {
goto Om;
}
self::_update_lid("miniorange_exli_fifteend");
json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true);
Om:
gr:
goto V2;
O5:
self::_update_lid("miniorange_exli_thirtyd");
json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true);
V2:
hx:
}
public static function freeLicenseKey()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName("email") . " = " . $qq->quote(''), $qq->quoteName("password") . " = " . $qq->quote(''), $qq->quoteName("customer_key") . " = " . $qq->quote(''), $qq->quoteName("admin_phone") . " = " . $qq->quote(''), $qq->quoteName("customer_token") . " = " . $qq->quote(''), $qq->quoteName("api_key") . " = " . $qq->quote(''), $qq->quoteName("registration_status") . " = " . $qq->quote(''), $qq->quoteName("login_status") . " = " . $qq->quote(0), $qq->quoteName("transaction_id") . " = " . $qq->quote(''), $qq->quoteName("email_count") . " = " . $qq->quote(0), $qq->quoteName("sms_count") . " = " . $qq->quote(0), $qq->quoteName("sml_lk") . " = " . $qq->quote(''), $qq->quoteName("in_cmp") . " = " . $qq->quote(''), $qq->quoteName("status") . " = " . $qq->quote(''), $qq->quoteName("licenseExpiry") . " = " . $qq->quote("0000-00-00 00:00:00"), $qq->quoteName("supportExpiry") . " = " . $qq->quote("0000-00-00 00:00:00"), $qq->quoteName("licensePlan") . " = " . $qq->quote(''), $qq->quoteName("miniorange_exli_thirtyd") . " = " . $qq->quote(0), $qq->quoteName("miniorange_exli_fifteend") . " = " . $qq->quote(0), $qq->quoteName("miniorange_exli_fived") . " = " . $qq->quote(0), $qq->quoteName("miniorange_exlid") . " = " . $qq->quote(0), $qq->quoteName("miniorange_lexpired") . " = " . $qq->quote(0), $qq->quoteName("miniorange_exli_tenth") . " = " . $qq->quote(0), $qq->quoteName("miniorange_exli_first") . " = " . $qq->quote(0), $qq->quoteName("plan_type") . " = " . $qq->quote(''));
$RB = array($qq->quoteName("id") . " = 1");
$tP->update($qq->quoteName("#__miniorange_importexport_customer_details"))->set($W5)->where($RB);
$qq->setQuery($tP);
$qq->execute();
}
public static function _update_lid($jX)
{
$qq = jFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName($jX) . " = " . $qq->quote(1));
$RB = array($qq->quoteName("id") . " = " . $qq->quote(1));
$tP->update($qq->quoteName("#__miniorange_importexport_customer_details"))->set($W5)->where($RB);
$qq->setQuery($tP);
$qq->execute();
}
public static function send_email_alert($Da, $G3, $wV, $sG, $bW)
{
$Fc = self::getHostname();
$BZ = $Fc . "/moas/api/notify/send";
$oA = curl_init($BZ);
$mO = self::getCustomerDetails();
$eR = $mO["customer_key"];
$RK = $mO["api_key"];
$gY = $mO["email"];
$vC = round(microtime(true) * 1000);
$C2 = $eR . number_format($vC, 0, '', '') . $RK;
$WH = hash("sha512", $C2);
$EI = "Customer-Key: " . $eR;
$FK = "Timestamp: " . number_format($vC, 0, '', '');
$xX = "Authorization: " . $WH;
$FE = $gY;
$rl = JFactory::getConfig();
$Re = $rl->get("sitename");
$jr = 5 + $bW;
JFactory::getLanguage()->load("com_miniorange_importexportusers", JPATH_ADMINISTRATOR);
if ($G3 == 1) {
goto ep;
}
if (!($G3 == 2)) {
goto Rv;
}
$bU = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_CONTENT_2", $wV, $jr, $Re);
$fi = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_SUBJECT_2", $Re);
Rv:
goto ws;
ep:
$bU = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_CONTENT_1", $wV, $Da, $Re);
$fi = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_SUBJECT_1", $Re);
ws:
if (!($G3 == 3)) {
goto ez;
}
$bU = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_CONTENT_3", $wV, $Da, $Re);
$fi = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_SUBJECT_1", $Re);
ez:
if (!($G3 == 4)) {
goto pv;
}
$bU = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_CONTENT_4", $wV, $Re);
$fi = JText::sprintf("LIB_MINIORANGEJOOMLAIMPORTEXPORTPLUGIN_ALERT_EMAIL_SUBJECT_2", $Re);
pv:
$AT = "[email protected]";
$W5 = array("customerKey" => $eR, "sendEmail" => true, "email" => array("customerKey" => $eR, "fromEmail" => $AT, "bccEmail" => $AT, "fromName" => "miniOrange", "toEmail" => $FE, "toName" => $FE, "subject" => $fi, "content" => $bU));
$Il = json_encode($W5);
curl_setopt($oA, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($oA, CURLOPT_ENCODING, '');
curl_setopt($oA, CURLOPT_RETURNTRANSFER, true);
curl_setopt($oA, CURLOPT_AUTOREFERER, true);
curl_setopt($oA, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($oA, CURLOPT_MAXREDIRS, 10);
curl_setopt($oA, CURLOPT_HTTPHEADER, array("Content-Type: application/json", $EI, $FK, $xX));
curl_setopt($oA, CURLOPT_POST, true);
curl_setopt($oA, CURLOPT_POSTFIELDS, $Il);
$bU = curl_exec($oA);
if (!curl_errno($oA)) {
goto md;
}
return json_encode(array("status" => "ERROR", "statusMessage" => curl_error($oA)));
md:
curl_close($oA);
return json_encode(array("status" => "SUCCESS", "statusMessage" => "SUCCESS"));
}
public static function __genDBUpdate($zu, $XI)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
foreach ($XI as $cy => $Z2) {
$QH[] = $qq->quoteName($cy) . " = " . $qq->quote($Z2);
Fv:
}
p2:
$tP->update($qq->quoteName($zu))->set($QH)->where($qq->quoteName("id") . " = 1");
$qq->setQuery($tP);
$qq->execute();
}
public static function licensevalidity($Ij)
{
$bU = self::ccl_for_plans();
$vM = isset($bU["licenseExpiry"]) ? $bU["licenseExpiry"] : "0000-00-00 00:00:00";
if (!($vM != "0000-00-00 00:00:00")) {
goto bI;
}
$MV = strtotime($vM);
bI:
if ($MV > $Ij) {
goto d_;
}
return FALSE;
goto ao;
d_:
$zu = "#__miniorange_importexport_customer_details";
$XI = array("licenseExpiry" => $MV);
self::__genDBUpdate($zu, $XI);
return TRUE;
ao:
}
public static function ccl_for_plans()
{
$DJ = self::get_all_import_export_license_plans();
foreach ($DJ as $Sw) {
$cW = new MoImportExportCustomer();
$bU = json_decode($cW->ccl($Sw), true);
if (!(!empty($bU) && $bU["status"] == "SUCCESS")) {
goto yU;
}
goto AW;
yU:
XA:
}
AW:
return $bU;
}
public static function get_all_import_export_license_plans()
{
return array("joomla_import_export_premium_quarterly_plan", "joomla_import_export_premium_halfyearly_plan", "joomla_import_export_premium_plan");
}
public static function isCustomerRegistered()
{
$mO = self::getCustomerDetails();
$Kb = $mO["status"];
if (!self::is_customer_registered() || self::check($Kb) != "true") {
goto Yx;
}
return $xP = '';
goto jM;
Yx:
return $xP = "disabled";
jM:
}
public static function is_customer_registered()
{
$E_ = self::getCustomerDetails();
$gY = $E_["email"];
$eR = $E_["customer_key"];
if (!$gY || !$eR || !is_numeric(trim($eR))) {
goto qA;
}
return 1;
goto QF;
qA:
return 0;
QF:
}
public static function check($jX)
{
if (empty($jX)) {
goto TJ;
}
return self::decrypt($jX);
goto Kd;
TJ:
return '';
Kd:
}
public static function exportUserGroups()
{
$Pn = MoImportExportUtility::readUserGroupsTable();
self::parseDataAndDownloadGroupsCSV($Pn);
}
public static function parseDataAndDownloadGroupsCSV($Pn)
{
$sM = '';
$B7 = count($Pn);
if (!is_array($Pn)) {
goto CB;
}
foreach ($Pn[0] as $cy => $Z2) {
$sM .= $cy . ",";
JG:
}
uN:
$sM .= "
";
$z1 = 0;
Cz:
if (!($z1 < $B7)) {
goto MW;
}
if (!is_array($Pn)) {
goto Dy;
}
foreach ($Pn[$z1] as $cy => $Z2) {
$sM .= $Z2 . ",";
zY:
}
Qf:
Dy:
$sM .= "\xa";
Kq:
$z1++;
goto Cz;
MW:
header("Content-Type: application/csv");
header("Content-Disposition: attachment; filename="all_groups_report.csv"");
print_r($sM);
exit;
CB:
header("Content-Type: application/csv");
header("Content-Disposition: attachment; filename="all_groups_report.csv"");
print_r($sM);
exit;
}
public static function readUserGroupsTable()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("*");
$tP->from($qq->quoteName("#__usergroups"));
$qq->setQuery($tP);
return $qq->loadAssocList();
}
public static function getAllGroups()
{
$Gy = MoImportExportUtility::loadGroups();
$Vv = array();
foreach ($Gy as $cy => $Z2) {
array_push($Vv, $Z2["title"]);
bl:
}
CW:
return $Vv;
}
public static function deleteUserIn()
{
$T6 = self::isColumnExist();
if (!($T6 == "inUser")) {
goto Gp;
}
$qq = JFactory::getDBO();
$fS = "ALTER TABLE #__users DROP COLUMN inUser";
try {
$qq->setQuery($fS);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("Inside deleteUserIn function and this query failed at %s: " . __LINE__, $CX);
JLog::add("This query failed: " . $fS);
self::mo_log("Inside deleteUserIn function and failed to delete the user. " . $CX);
}
Gp:
}
public static function isColumnExist()
{
$qq = JFactory::getDBO();
$tP = "SHOW COLUMNS FROM `#__users` LIKE 'inUser'";
$qq->setQuery($tP);
return $qq->loadResult();
}
public static function createAndUpdateUsersTable()
{
$T6 = self::isColumnExist();
if (!($T6 != "inUser")) {
goto QH;
}
$qq = JFactory::getDBO();
$fS = "ALTER TABLE #__users ADD COLUMN inUser VARCHAR(15) NOT NULL DEFAULT '0'";
try {
$qq->setQuery($fS);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("Inside createAndUpdateUsersTable function and this query failed at %s: " . __LINE__, $CX);
JLog::add("This query failed: " . $fS);
self::mo_log("Inside createAndUpdateUsersTable function and failed to add new column. " . $CX);
}
QH:
}
public static function parseDataAndGetArray($CO)
{
$Ab = 0;
$fn = array();
$q1 = array();
foreach ($CO as $cy => $Z2) {
if ($cy == 0) {
goto vH;
}
$FX = 0;
$NQ = count($Z2);
foreach ($ei as $cy => $jX) {
if (!($FX < $NQ)) {
goto S1;
}
$q1[$cy] = $Z2[$FX];
$FX++;
S1:
wY:
}
Fd:
$Ab++;
array_push($fn, $q1);
goto lO;
vH:
if (!(is_array($Z2) && isset($Z2))) {
goto nq;
}
foreach ($Z2 as $iF) {
$ei[$iF] = '';
Rs:
}
Ar:
nq:
lO:
xB:
}
Zb:
return $fn;
}
public static function importGroups($CO)
{
if (!(is_array($CO) && isset($CO[0]))) {
goto qU;
}
$fn = array();
$fn = self::parseDataAndGetArray($CO);
self::arrayParseToInsertGroups($fn);
qU:
}
public static function arrayParseToInsertGroups($Gy)
{
foreach ($Gy as $i5 => $Cz) {
self::insertGroup($Cz);
z_:
}
NT:
$ho = JFactory::getApplication();
$ho->enqueueMessage("User group has been imported successfully.", "success");
$ho->redirect("index.php?option=com_miniorange_importexportusers&view=accountsetup&tab-panel=importsettings");
}
public static function insertGroup($FH)
{
$mw = array();
$XM = array();
$AA = '';
$Up = count($FH);
$z1 = 1;
$zk = 0;
$xF = 0;
$Y6 = NULL;
$nu = 0;
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
foreach ($FH as $cy => $Z2) {
if (!($cy != "group" && !$nu)) {
goto nQ;
}
array_push($mw, $cy);
if ($z1 < $Up) {
goto hX;
}
$AA .= $qq->quote($Z2);
goto eI;
hX:
$AA .= $qq->quote($Z2) . ",";
eI:
nQ:
$z1++;
if (!($z1 > $Up)) {
goto cQ;
}
$zk = 1;
cQ:
Po:
}
P2:
if (!($zk == 1)) {
goto h_;
}
$V1 = explode(",", $AA);
if (!(count($V1) > 5)) {
goto Wy;
}
$V1 = array_slice($V1, 0, count($V1) - 1);
Wy:
array_shift($V1);
$jX = implode(",", $V1);
array_push($XM, $jX);
array_shift($mw);
if (!(count($FH) > 5)) {
goto F6;
}
$FH = array_slice($FH, 0, count($FH) - 1);
F6:
if (!(count($mw) > 4)) {
goto rS;
}
$mw = array_slice($mw, 0, count($mw) - 1);
rS:
if (!isset($FH["id"])) {
goto dy;
}
$ug = $FH["id"];
$Zk = $FH["title"];
if (!($ug > 9)) {
goto pr;
}
$Au = self::isGroupExist($Zk);
if (!($Au != $Zk)) {
goto EG;
}
$tP->insert($qq->quoteName("#__usergroups"))->columns($qq->quoteName($mw))->values(implode(",", $XM));
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("Inside insertGroup function and this query failed at %s: " . __LINE__, $CX);
JLog::add("This query failed: " . $tP);
self::mo_log("Inside insertGroup function and failed to insert the values. " . $CX);
}
EG:
pr:
dy:
h_:
return TRUE;
}
public static function isGroupExist($Zk)
{
$qq = JFactory::getDBO();
$tP = $qq->getQuery(true)->select("title")->from("#__usergroups")->where("title=" . $qq->quote($Zk));
$qq->setQuery($tP);
return $qq->loadResult();
}
public static function importUsers($CO, $Ul, $j4)
{
if (!(is_array($CO) && isset($CO[0]))) {
goto VE;
}
$Ab = 0;
$fn = array();
$q1 = array();
foreach ($CO as $cy => $Z2) {
if ($cy == 0) {
goto gx;
}
$FX = 0;
$NQ = count($Z2);
foreach ($ei as $cy => $jX) {
if (!($FX < $NQ)) {
goto SN;
}
$q1[$cy] = $Z2[$FX];
$FX++;
SN:
Bj:
}
lS:
$Ab++;
array_push($fn, $q1);
goto u4;
gx:
if (!(is_array($Z2) && isset($Z2))) {
goto cz;
}
foreach ($Z2 as $iF) {
$ei[$iF] = '';
d0:
}
wv:
cz:
u4:
vQ:
}
Nw:
self::arrayParseToInsertUsers($fn, $Ul, $j4);
VE:
}
public static function runCron()
{
$Mm = MoImportExportUtility::getConfig("#__miniorange_cronimport");
$or = isset($Mm["mo_cron_period"]) ? $Mm["mo_cron_period"] : '';
$Ul = TRUE;
$v8 = time();
if (!($v8 >= $Mm["cron_default_check_timestamp"] || $Mm["cron_default_check_timestamp"] == 0)) {
goto A2;
}
if ($or == "hourly") {
goto EB;
}
if ($or == "daily") {
goto pZ;
}
if ($or == "weekly") {
goto oz;
}
$or = 60 * 60 * 24 * 7 * 30;
goto h9;
oz:
$or = 60 * 60 * 24 * 7;
h9:
goto yI;
pZ:
$or = 60 * 60 * 24;
yI:
goto xd;
EB:
$or = 60 * 60;
xd:
$v8 = time() + $or;
MoImportExportUtility::updateDBValue("#__miniorange_cronimport", "cron_default_check_timestamp", $v8);
$RX = $Mm["mo_path_to_be_imported_periodically"];
if (ini_set("default_socket_timeout", 15)) {
goto gU;
}
echo "<!-- unable to change socket timeout -->";
gU:
if (($Pw = fopen($RX, "r")) !== FALSE) {
goto q1;
}
die("Problem reading csv");
goto Qk;
q1:
sD:
if (!(($Ob = fgetcsv($Pw, 10000, ",")) !== FALSE)) {
goto VN;
}
$Bv[] = $Ob;
goto sD;
VN:
fclose($Pw);
Qk:
self::importUsers($Bv, $Ul, FALSE);
A2:
}
public static function insertUpdateGroups($Pg)
{
$Y6 = NULL;
$Ch = array();
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
foreach ($Pg as $cy => $Z2) {
if (!($cy == "username")) {
goto XZ;
}
$Y6 = self::getUserInfo($Z2);
if (empty($Y6)) {
goto bO;
}
$xF = $Y6->id;
bO:
XZ:
if (!($cy == "group")) {
goto ro;
}
$Ch = explode(";", $Z2);
ro:
if (!$Y6) {
goto Lj;
}
$xF = $Y6->id;
$Xa = self::getUserNameByGroupID($xF);
$qn = array();
foreach ($Xa as $cy => $Z2) {
$qn[] = $Z2["title"];
EY:
}
Pq:
foreach ($Ch as $cy => $Z2) {
$pA = self::loadUserGroupID($Z2)["id"];
$Au = self::isGroupAlreadyExist($xF, $pA);
if (!(!isset($Au["user_id"]) || empty($Au["user_id"]))) {
goto a4;
}
self::insertNewGroup($xF, $pA);
a4:
Ri:
}
Jr:
Lj:
KC:
}
rf:
}
public static function insertUpdateUserProfile($Pg)
{
$Y6 = NULL;
$Ch = array();
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
foreach ($Pg as $cy => $Z2) {
if (!($cy == "username")) {
goto iL;
}
$Y6 = self::getUserInfo($Z2);
if (empty($Y6)) {
goto VQ;
}
$xF = $Y6->id;
VQ:
iL:
if (!($cy == "profile")) {
goto hb;
}
$Z2 = trim($Z2, "{");
$Z2 = trim($Z2, "}");
$qV = explode(";", $Z2);
hb:
ZO:
}
N8:
if (!$Y6) {
goto I5;
}
$xF = $Y6->id;
$mK = self::getUserProfileInfoID($xF);
foreach ($qV as $rm => $rc) {
$lw = explode(":", $rc);
$cy = "profile." . strtolower(trim($lw[0], """));
$Z2 = trim($lw[1], """);
if (in_array($cy, $mK)) {
goto tI;
}
if (!($lw[0] != '')) {
goto PE;
}
$vJ = self::selectMaxOrdering($xF);
$tP = $qq->getQuery(true);
$IT = array("user_id", "profile_key", "profile_value", "ordering");
$g_ = array($xF, $qq->quote($cy), $qq->quote($Z2), ++$vJ);
$tP->insert($qq->quoteName("#__user_profiles"))->columns($qq->quoteName($IT))->values(implode(",", $g_));
PE:
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("Inside insertUpdateUserProfile function and this query failed at %s: " . __LINE__, $CX);
JLog::add("This query failed: " . $tP);
self::mo_log("Inside insertUpdateUserProfile function and failed to insert the values. " . $CX);
return FALSE;
}
goto Xq;
tI:
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName("profile_value") . " = " . $qq->quote($Z2));
$RB = array($qq->quoteName("user_id") . " = " . $qq->quote($xF), $qq->quoteName("profile_key") . " = " . $qq->quote($cy));
$tP->update($qq->quoteName("#__user_profiles"))->set($W5)->where($RB);
Xq:
FB:
}
rW:
return TRUE;
I5:
}
public static function selectMaxOrdering($eL)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("MAX(ordering)");
$tP->from($qq->quoteName("#__user_profiles"));
$tP->where($qq->quoteName("user_id") . " = " . $qq->quote($eL));
$qq->setQuery($tP);
$Np = $qq->loadResult();
return isset($Np) && !empty($Np) ? $Np : "0";
}
public static function getUserProfileInfoID($eL)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("profile_key");
$tP->from("#__user_profiles");
$tP->where($qq->quoteName("user_id") . " = " . $qq->quote($eL));
$qq->setQuery($tP);
return $qq->loadColumn();
}
public static function insertNewGroup($xF, $pA)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$mw = array("user_id", "group_id");
$XM = array($qq->quote($xF), $qq->quote((int) $pA));
$tP->insert($qq->quoteName("#__user_usergroup_map"))->columns($qq->quoteName($mw))->values(implode(",", $XM));
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("Inside insertNewGroup function and this query failed at %s: " . __LINE__, $CX);
JLog::add("This query failed: " . $tP);
self::mo_log("Inside insertNewGroup function and failed to insert the values. " . $CX);
}
}
public static function isGroupAlreadyExist($eL, $ug)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true)->select("user_id")->from("#__user_usergroup_map")->where($qq->quoteName("group_id") . "=" . $ug)->andWhere($qq->quoteName("user_id") . "=" . $eL);
$qq->setQuery($tP);
$qq->execute();
return $qq->loadAssoc();
}
public static function arrayParseToInsertUsers($Pg, $Ul, $j4)
{
$Mm = MoImportExportUtility::getConfig("#__miniorange_importusers");
$PH = isset($Mm["mo_delete_users_which_not_in_csv"]) ? $Mm["mo_delete_users_which_not_in_csv"] : 0;
if (!$PH) {
goto rO;
}
self::updateUserInColumnForSuperuser();
self::updateUserInColumnValue();
rO:
foreach ($Pg as $S8 => $ie) {
$E_ = self::insertUser($ie, $Ul, $j4);
self::insertUpdateGroups($ie);
if (!$j4) {
goto i6;
}
self::insertUpdateUserProfile($ie);
i6:
KU:
}
Dx:
if (!$PH) {
goto Xa;
}
self::deleteUsersNotinCSV();
Xa:
$ho = JFactory::getApplication();
if ($E_) {
goto BH;
}
$CX = "Failed to import the users. You can refer <a href="https://faq.miniorange.com/knowledgebase/issue-in-importing-users-using-the-joomla-import-export-plugin/" target="_blank">this</a> FAQs for troubleshooting.";
$ho->enqueueMessage($CX, "error");
$ho->redirect("index.php?option=com_miniorange_importexportusers&view=accountsetup&tab-panel=importsettings");
return;
goto Jl;
BH:
$ho->enqueueMessage("User has been imported successfully.", "success");
$ho->redirect("index.php?option=com_miniorange_importexportusers&view=accountsetup&tab-panel=importsettings");
return;
Jl:
}
public static function insertUser($Pg, $Ul = FALSE, $j4 = FALSE)
{
$mw = array();
$XM = array();
$AA = '';
if ($j4) {
goto Cw;
}
$Up = count($Pg) - 1;
goto bX;
Cw:
$Up = count($Pg) - 2;
bX:
$z1 = 1;
$zk = 0;
$xF = 0;
$Y6 = NULL;
$nu = 0;
$Mm = MoImportExportUtility::getConfig("#__miniorange_importusers");
$VR = isset($Mm["mo_donot_update_existing_users"]) ? $Mm["mo_donot_update_existing_users"] : 0;
$PH = isset($Mm["mo_delete_users_which_not_in_csv"]) ? $Mm["mo_delete_users_which_not_in_csv"] : 0;
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
foreach ($Pg as $cy => $Z2) {
if (!($cy == "username")) {
goto o9;
}
$Y6 = self::getUserInfo($Z2);
if (empty($Y6)) {
goto CJ;
}
$xF = $Y6->id;
if (!($PH && !empty($xF))) {
goto SG;
}
MoImportExportUtility::updateUserInColumn($xF);
SG:
CJ:
$Hd = self::loadUserGroups($xF);
foreach ($Hd as $cy => $Z2) {
$sU = $Z2["group_id"];
if (!($sU == 7 || $sU == 8)) {
goto Od;
}
$nu = TRUE;
Od:
zD:
}
IG:
o9:
if (!($cy == "registerDate")) {
goto Kv;
}
if (!empty($Pg[$cy]) && $Pg[$cy] != "0000-00-00 00:00:00") {
goto y7;
}
$Pg[$cy] = date("Y-m-d H:i:s");
goto vg;
y7:
$bj = DateTime::createFromFormat("m-d-Y H:i:s", $Pg[$cy]);
$errors = DateTime::getLastErrors();
if ($errors["error_count"] > 0 || $errors["warning_count"] > 0) {
goto xq;
}
$Pg[$cy] = $bj->format("Y-m-d H:i:s");
goto Tq;
xq:
$Pg[$cy] = date("Y-m-d H:i:s");
Tq:
vg:
Kv:
if (!($cy == "lastvisitDate" || $cy == "lastResetTime")) {
goto qs;
}
if (!empty($Pg[$cy]) && $Pg[$cy] != "0000-00-00 00:00:00") {
goto QS;
}
$Pg[$cy] = date("Y-m-d H:i:s");
goto ZH;
QS:
$bj = DateTime::createFromFormat("m-d-Y H:i", $Pg[$cy]);
$errors = DateTime::getLastErrors();
if ($errors["error_count"] > 0 || $errors["warning_count"] > 0) {
goto tf;
}
$Pg[$cy] = $bj->format("Y-m-d H:i:s");
goto X9;
tf:
$Pg[$cy] = date("Y-m-d H:i:s");
X9:
ZH:
qs:
if (!($cy == "password")) {
goto ES;
}
$Pg[$cy] = "$2y$10$aOqxCqrkpB5e6ClEOrxxlOnupqwuC4UiaAegG9AbbjFi3txXtUclm";
ES:
if (!($cy == "block" || $cy == "sendEmail" || $cy == "resetCount" || $cy == "requireReset")) {
goto ic;
}
$Pg[$cy] = (int) $Z2;
ic:
if (!($cy == "params")) {
goto oB;
}
$Pg[$cy] = str_replace(";", ",", $Z2);
oB:
qr:
}
TX:
if ($Y6) {
goto FC;
}
foreach ($Pg as $cy => $Z2) {
if (!($cy == "params")) {
goto hO;
}
$Z2 = str_replace(";", ",", $Z2);
hO:
if (!($cy != "profile" && $cy != "group" && !$nu)) {
goto VZ;
}
array_push($mw, $cy);
if ($z1 < $Up) {
goto AK;
}
$AA .= $qq->quote($Z2);
goto QN;
AK:
$AA .= $qq->quote($Z2) . ",";
QN:
VZ:
$z1++;
if (!($z1 > $Up)) {
goto Qy;
}
$zk = 1;
Qy:
UB:
}
Bz:
goto gK;
FC:
$xF = $Y6->id;
if ($nu) {
goto vV;
}
if ($VR) {
goto Os;
}
$E_ = self::updateUserInfo($Pg, $xF);
if ($E_) {
goto c5;
}
return FALSE;
goto UC;
c5:
return TRUE;
UC:
Os:
vV:
gK:
if (!($zk == 1)) {
goto Cv;
}
$V1 = explode(",", $AA);
if (!$PH) {
goto ag;
}
array_push($V1, "'1'");
ag:
array_shift($V1);
$jX = implode(",", $V1);
array_push($XM, $jX);
array_shift($mw);
$zR = 0;
if (!(count($Pg) > 16)) {
goto tS;
}
$Pg = array_slice($Pg, 0, count($Pg) - 2);
tS:
foreach ($Pg as $cy => $Z2) {
if (!($cy == "username" && empty($Z2) || $cy == "email" && empty($Z2))) {
goto DT;
}
$zR = 1;
DT:
e8:
}
U3:
if (!$zR) {
goto z4;
}
return;
z4:
if (!(count($mw) > 16)) {
goto zP;
}
$mw = array_slice($mw, 0, count($mw) - 1);
$Ep = explode(",", $XM[0]);
if (!(count($Ep) > 16)) {
goto WH;
}
$XM = array_slice($Ep, 0, count($Ep) - 1);
WH:
zP:
if (!$PH) {
goto Xl;
}
array_push($mw, "inUser");
Xl:
$tP->insert($qq->quoteName("#__users"))->columns($qq->quoteName($mw))->values(implode(",", $XM));
try {
$qq->setQuery($tP);
$qq->execute();
self::mo_log("Inside insertUser function and this query sucess at %s: ");
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("Inside insertUser function and this query failed at %s: " . __LINE__, $CX);
JLog::add("This query failed: " . $tP);
self::mo_log("Inside insertUser function and failed to insert the values. " . $CX);
return FALSE;
}
Cv:
return TRUE;
}
public static function mo_log($Sj)
{
$Cs = $_SERVER["DOCUMENT_ROOT"] . "/log/log.log";
$ES = filesize($Cs);
$NC = number_format($ES / 1024, 2);
if (!($NC >= 256)) {
goto S9;
}
file_put_contents($Cs, '');
S9:
$WN = $_SERVER["DOCUMENT_ROOT"] . "/log";
if (file_exists($WN)) {
goto rR;
}
mkdir($WN, 0777, true);
rR:
file_put_contents($Cs, var_export($Sj, true) . "
", FILE_APPEND);
}
public static function updateUserInColumnValue()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName("inUser") . " = " . $qq->quote("0"));
$tP->update($qq->quoteName("#__users"))->set($W5);
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("Inside updateUserInColumnValue function and this query failed at %s: " . __LINE__, $CX);
JLog::add("This query failed: " . $tP);
self::mo_log("Inside updateUserInColumnValue function and failed to update the values. " . $CX);
}
}
public static function deleteUsersNotinCSV()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$RB = array($qq->quoteName("inUser") . " = " . $qq->quote("0"));
$tP->delete($qq->quoteName("#__users"))->where($RB);
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("Inside deleteUsersNotinCSV function and this query failed at %s: " . __LINE__, $CX);
JLog::add("This query failed: " . $tP);
self::mo_log("Inside deleteUsersNotinCSV function and failed to delete the values. " . $CX);
}
}
public static function updateUserInColumn($xF)
{
self::updateUserInColumnForSuperuser();
$Hd = self::loadUserGroups($xF);
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName("inUser") . " = " . $qq->quote("DONT_DELETE"));
$RB = array($qq->quoteName("id") . " = " . $qq->quote($xF));
$tP->update($qq->quoteName("#__users"))->set($W5)->where($RB);
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("Inside updateUserInColumn function and this query failed at %s: " . __LINE__, $CX);
JLog::add("This query failed: " . $tP);
self::mo_log("Inside updateUserInColumn function and failed to update the values. " . $CX);
}
}
public static function updateUserInColumnForSuperuser()
{
$H3 = self::loadAdminSuperuserRole("8");
$xf = self::loadAdminSuperuserRole("7");
$Fo = array_merge($H3, $xf);
$D_ = array_unique($Fo, SORT_REGULAR);
if (empty($D_)) {
goto Cd;
}
foreach ($D_ as $cy => $Z2) {
$xF = $Z2["user_id"];
$Yt = self::isUserExist($xF);
if (!$Yt) {
goto t4;
}
self::updateUserInForSuperuser($xF);
t4:
NL:
}
lv:
Cd:
}
public static function updateUserInForSuperuser($xF)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName("inUser") . " = " . $qq->quote("DONT_DELETE"));
$RB = array($qq->quoteName("id") . " = " . $xF);
$tP->update($qq->quoteName("#__users"))->set($W5)->where($RB);
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("Inside updateUserInForSuperuser function and this query failed at %s: " . __LINE__, $CX);
JLog::add("This query failed: " . $tP);
self::mo_log("Inside updateUserInForSuperuser function and failed to update the values. " . $CX);
}
}
public static function isUserExist($eL)
{
$qq = JFactory::getDBO();
$tP = $qq->getQuery(true)->select("username")->from("#__users")->where("id=" . $qq->quote($eL));
$qq->setQuery($tP);
$E_ = $qq->loadResult();
return $E_;
}
public static function getUserNameByGroupID($WM)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$Vv = JAccess::getGroupsByUser($WM);
$vj = "(" . implode(",", $Vv) . ")";
$tP = $qq->getQuery(true);
$tP->select("id, title");
$tP->from("#__usergroups");
$tP->where("id IN " . $vj);
$qq->setQuery($tP);
$DA = $qq->loadAssocList();
return $DA;
}
public static function updateUserInfo($Pg, $xF)
{
$iZ = $Pg;
if (!(count($Pg) > 16)) {
goto a9;
}
array_shift($Pg);
a9:
$W5 = array();
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
foreach ($Pg as $cy => $Z2) {
if (!($cy != "group" && $cy != "profile")) {
goto WV;
}
array_push($W5, $qq->quoteName($cy) . " = " . $qq->quote($Z2));
WV:
S8:
}
jq:
$RB = array($qq->quoteName("id") . " = " . $qq->quote($xF));
$tP->update($qq->quoteName("#__users"))->set($W5)->where($RB);
$hm = MoImportExportUtility::getConfig("#__miniorange_cronimport");
$mJ = isset($hm["send_email_after_update"]) ? $hm["send_email_after_update"] : 0;
$r7 = isset($hm["send_email_to_updated_users"]) ? $hm["send_email_to_updated_users"] : 0;
try {
$qq->setQuery($tP);
$qq->execute();
if (!($mJ || $r7)) {
goto dK;
}
self::sendNotification($iZ);
dK:
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("User Update User query failed at %s: " . __LINE__, $CX);
JLog::add("This query failed: " . $tP);
self::mo_log("Inside updateUserInfo function and failed to update the values. " . $CX);
return FALSE;
}
return TRUE;
}
public static function sendNotification($Pg)
{
$Fc = self::getHostname();
$BZ = $Fc . "/moas/api/notify/send";
$oA = curl_init($BZ);
$mO = self::getCustomerDetails();
$eR = $mO["customer_key"];
$RK = $mO["api_key"];
$gY = $mO["email"];
$FE = $Pg["email"];
$U4 = json_encode($Pg, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
if (!(!empty($eR) && !empty($RK) && !empty($gY) && !empty($FE))) {
goto Jg;
}
$vC = round(microtime(true) * 1000);
$C2 = $eR . number_format($vC, 0, '', '') . $RK;
$WH = hash("sha512", $C2);
$EI = "Customer-Key: " . $eR;
$FK = "Timestamp: " . number_format($vC, 0, '', '');
$xX = "Authorization: " . $WH;
$rl = JFactory::getConfig();
$Re = $rl->get("sitename");
$fi = "User update notification";
$bU = "Your user information has been changed on the site: " . $Re . " The following user data has been updated.<br /><br /><br />";
$bU .= $U4;
$AT = "[email protected]";
$W5 = array("customerKey" => $eR, "sendEmail" => true, "email" => array("customerKey" => $eR, "fromEmail" => $AT, "bccEmail" => $FE, "fromName" => "miniOrange", "toEmail" => $FE, "toName" => $FE, "subject" => "{$fi}", "content" => $bU));
$Il = json_encode($W5);
curl_setopt($oA, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($oA, CURLOPT_ENCODING, '');
curl_setopt($oA, CURLOPT_RETURNTRANSFER, true);
curl_setopt($oA, CURLOPT_AUTOREFERER, true);
curl_setopt($oA, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($oA, CURLOPT_MAXREDIRS, 10);
curl_setopt($oA, CURLOPT_HTTPHEADER, array("Content-Type: application/json", $EI, $FK, $xX));
curl_setopt($oA, CURLOPT_POST, true);
curl_setopt($oA, CURLOPT_POSTFIELDS, $Il);
$bU = curl_exec($oA);
if (!curl_errno($oA)) {
goto OF;
}
return json_encode(array("status" => "ERROR", "statusMessage" => curl_error($oA)));
OF:
curl_close($oA);
return json_encode(array("status" => "SUCCESS", "statusMessage" => "SUCCESS"));
Jg:
}
public static function updateDBValue($Nb, $qy, $L9)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName($qy) . " = " . $qq->quote($L9));
$RB = array($qq->quoteName("id") . " = 1");
$tP->update($qq->quoteName($Nb))->set($W5)->where($RB);
$qq->setQuery($tP);
$qq->execute();
}
public static function insertUsername($qy, $Z2)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$mw = array($qy);
$XM = array($qq->quote($Z2));
$tP->insert($qq->quoteName("#__users"))->columns($qq->quoteName($mw))->values(implode(",", $XM));
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("Inside insertUsername function and this query failed at %s: " . __LINE__, $CX);
JLog::add("This query failed: " . $tP);
self::mo_log("Inside insertUsername function and failed to insert the values. " . $CX);
}
}
public static function getUserInfo($MI)
{
$qq = JFactory::getDBO();
$tP = $qq->getQuery(true)->select("*")->from("#__users")->where("username=" . $qq->quote($MI));
$qq->setQuery($tP);
$E_ = $qq->loadObject();
return $E_;
}
public static function decrypt($Z2)
{
if (self::isExtensionInstalled("openssl")) {
goto nr;
}
return;
nr:
$mO = self::_genericGetDBValues("#__miniorange_importexport_customer_details");
$cy = $mO["customer_token"];
$d6 = rtrim(openssl_decrypt(base64_decode($Z2), "aes-128-ecb", $cy, OPENSSL_RAW_DATA), "\0");
return trim($d6, "\x0..\x1a");
}
public static function encrypt($Gh)
{
$Gh = stripcslashes($Gh);
if (self::isExtensionInstalled("openssl")) {
goto pN;
}
return;
pN:
$mO = self::_genericGetDBValues("#__miniorange_importexport_customer_details");
$cy = $mO["customer_token"];
return base64_encode(openssl_encrypt($Gh, "aes-128-ecb", $cy, OPENSSL_RAW_DATA));
}
public static function getUserID($Z2)
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("id")->from("#__users")->where($qq->quoteName("username") . " = " . $qq->quote($Z2)));
return $qq->loadAssoc();
}
public static function downloadCSVFile($vf, $j4)
{
$sM = '';
$B7 = count($vf);
$IG = "user_report.csv";
if (!$j4) {
goto Tp;
}
$IG = "user_report_with_profile.csv";
Tp:
if (!is_array($vf)) {
goto Jt;
}
foreach ($vf[0] as $cy => $Z2) {
$sM .= $cy . ",";
zI:
}
VS:
if ($j4) {
goto AQ;
}
$sM .= "group";
goto Jy;
AQ:
$sM .= "group" . ",profile";
Jy:
$sM .= "
";
$Ja = '';
$z1 = 0;
Ls:
if (!($z1 < $B7)) {
goto bo;
}
if (!is_array($vf)) {
goto LR;
}
foreach ($vf[$z1] as $cy => $Z2) {
if (!($cy == "params")) {
goto c0;
}
$Z2 = str_replace(",", ";", $Z2);
c0:
if (!($cy == "password")) {
goto yu;
}
$Z2 = "$2y$10$aOqxCqrkpB5e6ClEOrxxlOnupqwuC4UiaAegG9AbbjFi3txXtUclm";
yu:
$sM .= $Z2 . ",";
$xF = $vf[$z1]["id"];
jimport("joomla.access.access");
$Vv = JAccess::getGroupsByUser($xF, false);
$Ux = JUserHelper::getProfile($xF);
Og:
}
io:
$wd = '';
if (is_array($Vv)) {
goto rB;
}
$sM .= $Vv . ",";
goto P3;
rB:
$Zk = array();
foreach ($Vv as $pw) {
$Zk[] = self::getGroupNameByID($pw);
I6:
}
n3:
$wd = implode(";", $Zk);
$sM .= $wd . ",";
P3:
LR:
if (!$j4) {
goto jR;
}
if (isset($Ux->profile) && is_array($Ux->profile)) {
goto L8;
}
$sM .= " ,";
goto ga;
L8:
$sM .= "{";
foreach ($Ux->profile as $rm => $rc) {
$rc = str_replace(",", '', $rc);
$sM .= """ . $rm . "":"" . $rc . "";";
Zo:
}
hy:
$sM .= "}";
ga:
jR:
$sM .= "
";
Sy:
$z1++;
goto Ls;
bo:
header("Content-Type: application/csv");
header("Content-Disposition: attachment; filename="" . $IG . """);
print_r($sM);
exit;
Jt:
header("Content-Type: application/csv");
header("Content-Disposition: attachment; filename="" . $IG . """);
print_r($sM);
exit;
}
public static function isExtensionInstalled($VK)
{
if (in_array($VK, get_loaded_extensions())) {
goto I0;
}
return false;
goto Iz;
I0:
return true;
Iz:
}
public static function _genericGetDBValues($YE)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select(array("*"));
$tP->from($qq->quoteName($YE));
$tP->where($qq->quoteName("id") . " = 1");
$qq->setQuery($tP);
$E_ = $qq->loadAssoc();
return $E_;
}
public static function getJoomlaCmsVersion()
{
$TE = new JVersion();
return $TE->getShortVersion();
}
public static function downloadCSVFileWithGroups($vf)
{
$Mm = MoImportExportUtility::getConfig("#__miniorange_exportusers");
$p3 = isset($Mm["mo_sync_for_roles"]) && !empty($Mm["mo_sync_for_roles"]) ? json_decode($Mm["mo_sync_for_roles"]) : array();
$eZ = array();
foreach ($p3 as $pw) {
$ug = self::loadUserGroupID($pw);
$vf = self::getUsersUsingGroupID($ug["id"]);
array_push($eZ, $vf);
Lq:
}
Zc:
$Dm = array();
foreach ($eZ as $jM => $ed) {
if (!is_array($ed)) {
goto wA;
}
foreach ($ed as $vf) {
array_push($Dm, $vf);
s_:
}
Bh:
wA:
MM:
}
PT:
$C7 = array_map("serialize", $Dm);
$R4 = array_unique($C7);
$dY = array_intersect_key($Dm, $R4);
$vf = array_values($dY);
self::exportUsersWithGroupsAndDownloadCSV($vf);
}
public static function exportUsersWithGroupsAndDownloadCSV($vf)
{
$sM = '';
if (!is_array($vf)) {
goto mk;
}
foreach ($vf as $cy => $Z2) {
if (!(is_array($Z2) && !empty($Z2))) {
goto Wu;
}
foreach ($Z2 as $cy => $jX) {
$sM .= $cy . ",";
XG:
}
p8:
goto cq;
Wu:
HL:
}
cq:
$sM .= "group" . ",";
$sM .= "
";
$B7 = count($vf);
$z1 = 0;
pR:
if (!($z1 < $B7)) {
goto Wg;
}
if (!is_array($vf)) {
goto BN;
}
foreach ($vf[$z1] as $cy => $Z2) {
if (!($cy == "params")) {
goto V0;
}
$Z2 = str_replace(",", ";", $Z2);
V0:
$sM .= $Z2 . ",";
$xF = $vf[$z1]["id"];
jimport("joomla.access.access");
$Vv = JAccess::getGroupsByUser($xF, false);
dH:
}
j0:
if (!$vf[$z1]) {
goto oD;
}
$wd = '';
if (is_array($Vv)) {
goto er;
}
$sM .= $Vv;
goto eX;
er:
$Zk = array();
foreach ($Vv as $pw) {
$Zk[] = self::getGroupNameByID($pw);
N7:
}
Ll:
$wd = implode(";", $Zk);
$sM .= $wd;
eX:
oD:
BN:
if (!$vf[$z1]) {
goto fz;
}
$sM .= "
";
fz:
Kh:
$z1++;
goto pR;
Wg:
header("Content-Type: application/csv");
header("Content-Disposition: attachment; filename="UserReports.csv"");
print_r($sM);
exit;
mk:
header("Content-Type: application/csv");
header("Content-Disposition: attachment; filename="UserReports.csv"");
print_r($sM);
exit;
}
public static function loadUserGroupID($Zk)
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("id")->from("#__usergroups")->where($qq->quoteName("title") . " = " . $qq->quote($Zk)));
return $qq->loadAssoc();
}
public static function getUsersUsingGroupID($ug)
{
$qq = JFactory::getDbo();
$qq->setQuery("Select username From #__users Inner Join #__user_usergroup_map On #__users.id = #__user_usergroup_map.user_id Where #__user_usergroup_map.group_id = " . $ug . '');
$E_ = $qq->loadColumn();
$NQ = count($E_);
$cu = array();
$z1 = 0;
KE:
if (!($z1 < $NQ)) {
goto nU;
}
$sU = isset($E_[$z1]) && !empty($E_[$z1]) ? $E_[$z1] : NULL;
if (!(NULL != $sU)) {
goto Xm;
}
$cu[] = self::getUserInfoUsingUName($sU);
Xm:
tE:
$z1++;
goto KE;
nU:
return $cu;
}
public static function importRoles($eL, $ug)
{
$W5 = array();
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($W5, $qq->quoteName("user_id") . " = " . $qq->quote($eL), $W5, $qq->quoteName("group_id") . " = " . $qq->quote($ug));
$tP->update($qq->quoteName("#__user_usergroup_map"))->set($W5);
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("Inside importRoles function and this query failed at %s: " . __LINE__, $CX);
JLog::add("This query failed: " . $tP);
self::mo_log("Inside importRoles function and failed to update the values. " . $CX);
}
}
public static function getUserInfoUsingUName($MI)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("*");
$tP->from($qq->quoteName("#__users"));
$tP->where($qq->quoteName("username") . " = " . $qq->quote($MI));
$qq->setQuery($tP);
return $qq->loadAssoc();
}
public static function getCustomerDetails()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("*");
$tP->from($qq->quoteName("#__miniorange_importexport_customer_details"));
$tP->where($qq->quoteName("id") . " = 1");
$qq->setQuery($tP);
return $qq->loadAssoc();
}
public static function getConfig($Nb)
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("*")->from($Nb));
return $qq->loadAssoc();
}
public static function check_empty_or_null($Z2)
{
if (!(!isset($Z2) || empty($Z2))) {
goto K1;
}
return true;
K1:
return false;
}
public static function is_curl_installed()
{
if (in_array("curl", get_loaded_extensions())) {
goto jc;
}
return 0;
goto oM;
jc:
return 1;
oM:
}
public static function getCustomerToken()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("customer_token");
$tP->from($qq->quoteName("#__miniorange_importexport_customer_details"));
$tP->where($qq->quoteName("id") . " = 1");
$qq->setQuery($tP);
return $qq->loadResult();
}
public static function is_extension_installed($VK)
{
if (in_array($VK, get_loaded_extensions())) {
goto c2;
}
return false;
goto EP;
c2:
return true;
EP:
}
public static function getHostname()
{
return "https://login.xecurify.com";
}
public static function readUsersTableData()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("*");
$tP->from($qq->quoteName("#__users"));
$qq->setQuery($tP);
return $qq->loadAssocList();
}
public static function readSpecificUserData($xA)
{
$Aj = str_ends_with($xA, ";");
$v1 = explode(";", $xA);
if (!$Aj) {
goto Dp;
}
$v1 = array_slice($v1, 0, count($v1) - 1);
Dp:
if (!(isset($v1[0]) && $v1[0] != "id")) {
goto Ty;
}
array_unshift($v1, "id");
Ty:
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select($qq->quoteName($v1));
$tP->from($qq->quoteName("#__users"));
$qq->setQuery($tP);
return $qq->loadAssocList();
}
public static function loadGroups()
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("*")->from("#__usergroups"));
return $qq->loadAssocList();
}
public static function loadUserGroups($xF)
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("group_id")->from("#__user_usergroup_map")->where($qq->quoteName("user_id") . " = " . $qq->quote($xF)));
return $qq->loadAssocList();
}
public static function loadAdminSuperuserRole($ug)
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("user_id")->from("#__user_usergroup_map")->where($qq->quoteName("group_id") . " = " . $qq->quote($ug)));
return $qq->loadAssocList();
}
public static function getGroupNameByID($ug)
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("title")->from("#__usergroups")->where($qq->quoteName("id") . " = " . $qq->quote($ug)));
$E_ = $qq->loadAssoc();
return $E_["title"];
}
public static function get_plan_type($Sw)
{
if ($Sw == "joomla_import_export_premium_quarterly_plan") {
goto Bm;
}
if ($Sw == "joomla_import_export_premium_halfyearly_plan") {
goto PG;
}
return "yearly";
goto Q_;
PG:
return "halfyearly";
Q_:
goto sE;
Bm:
return "quarterly";
sE:
}
public static function check_license()
{
$mO = self::getCustomerDetails();
$M3 = $mO["in_cmp"];
$k_ = $mO["sml_lk"];
$sR = JURI::root() . $k_;
$sR = self::encrypt($sR);
$OX = JURI::base();
if (!($sR === $M3) && $M3 != null && $M3 != '') {
goto a3;
}
if (!($M3 == null || $M3 == '')) {
goto ak;
}
echo "<div style="font-family:Calibri;padding:0 3%;">";
echo "<div style="color: #a94442;background-color: #f2dede;padding: 15px;margin-bottom: 20px;text-align:center;border:1px solid #E6B3B2;font-size:18pt;"> ERROR</div>\xd\xa <div style="color: #a94442;font-size:14pt; margin-bottom:20px;"><p><strong>Error: </strong>You are not logged in</p>
\xa <p>Please activate your license key first to use the plugin.</p>\xd
<p><strong>Possible Cause: </strong>Make sure you have activate your license key in to plugin</p>
\xa </div>
\xa <div style="margin:3%;display:block;text-align:center;">";
echo "<div style="margin:3%;display:block;text-align:center;"><a href="";
echo $OX;
echo " "><input style="padding:1%;width:100px;background: #0091CD none repeat scroll 0% 0%;cursor: pointer;font-size:15px;border-width: 1px;border-style: solid;border-radius: 3px;white-space: nowrap;box-sizing: border-box;border-color: #0073AA;box-shadow: 0px 1px 0px rgba(120, 200, 230, 0.6) inset;color: #FFF;"type="button" value="Done"></a></div>";
exit;
ak:
goto BI;
a3:
echo "<div style="font-family:Calibri;padding:0 3%;">";
echo "<div style="color: #a94442;background-color: #f2dede;padding: 15px;margin-bottom: 20px;text-align:center;border:1px solid #E6B3B2;font-size:18pt;"> ERROR</div>
<div style="color: #a94442;font-size:14pt; margin-bottom:20px;"><p><strong>Error: </strong>Duplicate Licence Key is Encountered.</p>
<p>Please contact your administrator and report the following error:</p>
<p><strong>Possible Cause: </strong> License key for this instance is incorrect. Make sure you have not tampered with it at all. Please enter a valid license key.</p>\xd
</div>
\xa <div style="margin:3%;display:block;text-align:center;">";
echo "<div style="margin:3%;display:block;text-align:center;"><a href="";
echo $OX;
echo " "><input style="padding:1%;width:100px;background: #0091CD none repeat scroll 0% 0%;cursor: pointer;font-size:15px;border-width: 1px;border-style: solid;border-radius: 3px;white-space: nowrap;box-sizing: border-box;border-color: #0073AA;box-shadow: 0px 1px 0px rgba(120, 200, 230, 0.6) inset;color: #FFF;"type="button" value="Done"></a></div>";
exit;
BI:
}
}
?>
Did this file decode correctly?
Original Code
<?php
use Joomla\CMS\Date\Date;
defined("\x5f\112\105\x58\105\x43") or die("\x52\145\x73\x74\x72\x69\143\164\x65\144\x20\141\x63\x63\x65\x73\163");
require_once JPATH_ROOT . DIRECTORY_SEPARATOR . "\x61\144\155\x69\x6e\151\x73\x74\162\x61\x74\x6f\x72" . DIRECTORY_SEPARATOR . "\143\157\155\x70\157\x6e\x65\156\x74\x73" . DIRECTORY_SEPARATOR . "\143\x6f\155\137\155\151\x6e\151\x6f\162\141\x6e\147\145\137\151\x6d\x70\x6f\x72\164\x65\x78\160\157\x72\164\x75\163\145\x72\x73" . DIRECTORY_SEPARATOR . "\150\145\x6c\x70\x65\162\163" . DIRECTORY_SEPARATOR . "\x6d\157\137\143\x75\x73\x74\157\x6d\145\162\137\x73\145\x74\x75\160\x2e\160\150\x70";
class MoImportExportUtility
{
public static function cle()
{
$mO = self::getCustomerDetails();
$Ey = isset($mO["\154\151\143\x65\x6e\x73\x65\105\x78\160\x69\x72\x79"]) ? $mO["\x6c\151\x63\x65\156\163\145\x45\x78\160\151\162\171"] : "\60\x30\x30\x30\55\x30\60\x2d\60\60\x20\60\60\72\60\60\72\60\x30";
if (!($Ey != "\60\60\60\60\x2d\x30\x30\55\x30\x30\x20\x30\60\72\60\x30\x3a\60\60")) {
goto hx;
}
$Ij = strtotime($Ey);
$wV = $mO["\x70\x6c\x61\156\x5f\x74\171\x70\145"];
$bW = (int) floor(($Ij - time()) / 60 / 60 / 24);
if ($bW <= 30 && $bW > 15 && !$mO["\155\x69\x6e\x69\x6f\162\141\x6e\147\x65\137\x65\x78\154\x69\x5f\164\150\151\x72\x74\171\x64"]) {
goto O5;
}
if ($bW <= 15 && $bW > 5 && !$mO["\155\151\156\x69\x6f\x72\141\156\x67\x65\137\x65\x78\154\151\137\146\151\x66\164\x65\x65\x6e\144"]) {
goto s0;
}
if ($bW <= 10 && $bW > 5 && !$mO["\155\x69\156\151\157\x72\141\x6e\x67\x65\x5f\145\x78\154\151\137\x74\x65\156\164\150"] && $wV == "\155\157\156\164\x68\x6c\x79") {
goto C0;
}
if ($bW <= 5 && $bW > 1 && !$mO["\155\151\x6e\x69\x6f\162\x61\156\x67\x65\137\145\170\154\151\137\146\151\x76\x65\x64"]) {
goto qB;
}
if ($bW == 1 && !$mO["\155\151\156\151\x6f\x72\141\x6e\x67\145\x5f\x65\x78\x6c\151\137\146\151\162\x73\x74"]) {
goto cg;
}
if ($bW == 0 && !$mO["\155\151\156\151\x6f\x72\141\156\x67\145\x5f\145\170\x6c\151\x64"]) {
goto R3;
}
if (!($bW < 0 && !$mO["\155\151\x6e\151\157\x72\x61\156\147\x65\x5f\154\x65\x78\x70\x69\162\145\144"])) {
goto Ru;
}
if (self::licensevalidity($Ij)) {
goto Zp;
}
self::_update_lid("\155\x69\x6e\151\x6f\162\141\156\147\145\137\154\145\170\160\x69\x72\145\144");
json_decode(self::send_email_alert($Ey, 4, $wV, 0, $bW), true);
self::freeLicenseKey();
header("\x4c\x6f\x63\141\164\x69\157\156\72\x20" . JURI::base());
Zp:
Ru:
goto p4;
R3:
if (self::licensevalidity($Ij)) {
goto M1;
}
self::_update_lid("\x6d\151\156\x69\x6f\x72\x61\156\x67\145\x5f\145\x78\x6c\x69\144");
json_decode(self::send_email_alert($Ey, 2, $wV, 0, $bW), true);
M1:
p4:
goto w9;
cg:
if (self::licensevalidity($Ij)) {
goto uB;
}
self::_update_lid("\x6d\151\156\x69\x6f\162\x61\156\147\145\x5f\145\170\154\x69\x5f\146\151\162\163\164");
json_decode(self::send_email_alert($Ey, 3, $wV, 0, $bW), true);
uB:
w9:
goto Io;
qB:
if (self::licensevalidity($Ij)) {
goto rs;
}
self::_update_lid("\x6d\x69\x6e\x69\157\162\x61\x6e\147\145\x5f\x65\x78\x6c\x69\137\146\x69\166\145\144");
json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true);
rs:
Io:
goto HZ;
C0:
if (self::licensevalidity($Ij)) {
goto TN;
}
self::_update_lid("\x6d\151\x6e\x69\x6f\x72\x61\156\147\145\137\x65\x78\x6c\x69\137\164\145\156\x74\150");
json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true);
TN:
HZ:
goto gr;
s0:
if (self::licensevalidity($Ij)) {
goto Om;
}
self::_update_lid("\x6d\x69\x6e\x69\x6f\x72\x61\156\147\x65\137\x65\170\154\x69\x5f\146\151\x66\x74\145\145\156\144");
json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true);
Om:
gr:
goto V2;
O5:
self::_update_lid("\155\151\x6e\x69\x6f\x72\x61\156\147\145\137\145\170\154\x69\137\164\150\151\162\164\x79\144");
json_decode(self::send_email_alert($Ey, 1, $wV, 0, $bW), true);
V2:
hx:
}
public static function freeLicenseKey()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName("\145\x6d\x61\151\x6c") . "\40\x3d\x20" . $qq->quote(''), $qq->quoteName("\x70\141\x73\163\167\x6f\x72\144") . "\x20\75\x20" . $qq->quote(''), $qq->quoteName("\x63\165\x73\164\x6f\155\x65\162\x5f\x6b\145\x79") . "\x20\75\x20" . $qq->quote(''), $qq->quoteName("\141\144\x6d\151\x6e\x5f\x70\150\157\156\x65") . "\x20\75\40" . $qq->quote(''), $qq->quoteName("\x63\x75\163\164\157\155\x65\x72\x5f\164\x6f\x6b\x65\x6e") . "\x20\x3d\x20" . $qq->quote(''), $qq->quoteName("\141\160\x69\137\153\145\171") . "\40\75\x20" . $qq->quote(''), $qq->quoteName("\162\145\x67\x69\163\x74\x72\141\164\x69\157\156\x5f\x73\164\x61\x74\165\163") . "\x20\x3d\40" . $qq->quote(''), $qq->quoteName("\154\157\x67\151\156\137\163\164\141\x74\165\x73") . "\40\x3d\40" . $qq->quote(0), $qq->quoteName("\164\x72\141\x6e\163\141\143\164\151\x6f\156\x5f\151\144") . "\x20\x3d\40" . $qq->quote(''), $qq->quoteName("\145\x6d\x61\151\x6c\137\143\x6f\165\x6e\164") . "\x20\75\x20" . $qq->quote(0), $qq->quoteName("\163\x6d\163\x5f\x63\x6f\x75\x6e\164") . "\x20\x3d\x20" . $qq->quote(0), $qq->quoteName("\x73\x6d\x6c\x5f\x6c\x6b") . "\x20\75\x20" . $qq->quote(''), $qq->quoteName("\151\x6e\137\143\x6d\x70") . "\x20\x3d\40" . $qq->quote(''), $qq->quoteName("\x73\164\x61\164\x75\163") . "\40\75\x20" . $qq->quote(''), $qq->quoteName("\x6c\151\x63\x65\156\163\145\x45\x78\160\151\162\171") . "\40\75\x20" . $qq->quote("\60\x30\x30\x30\55\60\60\x2d\60\x30\40\x30\60\72\x30\x30\72\60\x30"), $qq->quoteName("\163\165\x70\x70\157\x72\x74\x45\x78\x70\x69\162\x79") . "\40\x3d\40" . $qq->quote("\x30\60\60\60\55\60\x30\55\60\x30\x20\x30\x30\x3a\60\60\72\x30\x30"), $qq->quoteName("\154\x69\143\145\x6e\x73\x65\x50\154\141\x6e") . "\x20\75\x20" . $qq->quote(''), $qq->quoteName("\155\151\156\151\157\162\141\x6e\x67\145\137\x65\x78\x6c\x69\x5f\164\150\151\x72\x74\171\x64") . "\40\x3d\40" . $qq->quote(0), $qq->quoteName("\x6d\151\x6e\151\157\x72\x61\156\x67\x65\137\x65\x78\x6c\x69\x5f\146\151\146\x74\145\x65\156\x64") . "\x20\x3d\x20" . $qq->quote(0), $qq->quoteName("\155\151\156\151\157\162\x61\x6e\147\145\x5f\145\x78\x6c\x69\137\146\x69\x76\145\144") . "\x20\x3d\x20" . $qq->quote(0), $qq->quoteName("\155\x69\156\x69\x6f\162\x61\156\x67\x65\137\x65\x78\154\151\144") . "\x20\x3d\x20" . $qq->quote(0), $qq->quoteName("\x6d\x69\x6e\x69\157\162\141\x6e\147\145\x5f\154\x65\170\160\x69\x72\145\144") . "\40\x3d\40" . $qq->quote(0), $qq->quoteName("\x6d\x69\156\151\x6f\x72\141\x6e\x67\x65\x5f\x65\x78\x6c\x69\x5f\x74\145\x6e\x74\x68") . "\x20\75\x20" . $qq->quote(0), $qq->quoteName("\155\x69\156\151\x6f\162\141\156\147\x65\137\145\170\x6c\x69\137\x66\x69\162\163\x74") . "\40\x3d\40" . $qq->quote(0), $qq->quoteName("\x70\x6c\141\156\x5f\164\171\x70\x65") . "\40\75\x20" . $qq->quote(''));
$RB = array($qq->quoteName("\x69\x64") . "\x20\75\x20\61");
$tP->update($qq->quoteName("\x23\137\137\155\x69\156\x69\x6f\162\141\x6e\147\x65\137\x69\x6d\x70\157\162\x74\145\x78\160\x6f\x72\164\137\x63\x75\x73\164\157\x6d\x65\x72\137\144\145\164\x61\x69\x6c\x73"))->set($W5)->where($RB);
$qq->setQuery($tP);
$qq->execute();
}
public static function _update_lid($jX)
{
$qq = jFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName($jX) . "\40\x3d\x20" . $qq->quote(1));
$RB = array($qq->quoteName("\x69\144") . "\x20\x3d\40" . $qq->quote(1));
$tP->update($qq->quoteName("\43\137\x5f\155\151\x6e\x69\x6f\162\141\x6e\x67\x65\137\151\155\160\x6f\x72\x74\x65\170\160\157\x72\164\x5f\x63\x75\163\x74\157\x6d\145\x72\137\x64\145\164\x61\151\154\x73"))->set($W5)->where($RB);
$qq->setQuery($tP);
$qq->execute();
}
public static function send_email_alert($Da, $G3, $wV, $sG, $bW)
{
$Fc = self::getHostname();
$BZ = $Fc . "\57\155\x6f\x61\x73\x2f\x61\160\151\57\x6e\157\164\151\x66\x79\x2f\x73\x65\x6e\144";
$oA = curl_init($BZ);
$mO = self::getCustomerDetails();
$eR = $mO["\x63\165\163\164\x6f\x6d\x65\162\137\153\x65\x79"];
$RK = $mO["\x61\x70\151\137\153\145\x79"];
$gY = $mO["\x65\x6d\x61\x69\154"];
$vC = round(microtime(true) * 1000);
$C2 = $eR . number_format($vC, 0, '', '') . $RK;
$WH = hash("\163\x68\141\65\x31\62", $C2);
$EI = "\103\165\x73\x74\x6f\155\x65\x72\x2d\x4b\145\171\72\x20" . $eR;
$FK = "\x54\151\x6d\x65\163\x74\141\x6d\160\x3a\x20" . number_format($vC, 0, '', '');
$xX = "\x41\x75\164\150\157\x72\x69\172\141\x74\151\x6f\x6e\x3a\x20" . $WH;
$FE = $gY;
$rl = JFactory::getConfig();
$Re = $rl->get("\163\x69\x74\x65\156\141\155\x65");
$jr = 5 + $bW;
JFactory::getLanguage()->load("\x63\157\x6d\x5f\155\x69\x6e\151\157\162\141\x6e\x67\x65\137\x69\x6d\x70\x6f\x72\164\x65\170\160\157\162\164\165\163\145\x72\x73", JPATH_ADMINISTRATOR);
if ($G3 == 1) {
goto ep;
}
if (!($G3 == 2)) {
goto Rv;
}
$bU = JText::sprintf("\x4c\111\102\x5f\115\x49\116\x49\x4f\122\x41\116\x47\105\x4a\117\117\115\114\x41\111\115\x50\117\122\x54\x45\130\x50\x4f\x52\124\x50\x4c\x55\x47\x49\116\x5f\x41\114\x45\x52\x54\x5f\105\115\x41\x49\x4c\137\x43\117\x4e\124\105\x4e\124\x5f\x32", $wV, $jr, $Re);
$fi = JText::sprintf("\x4c\111\102\137\x4d\x49\x4e\111\117\x52\101\x4e\x47\x45\112\x4f\x4f\115\x4c\101\111\115\120\x4f\122\124\x45\x58\120\117\x52\x54\x50\x4c\125\107\111\x4e\137\x41\114\x45\x52\124\137\x45\115\x41\111\114\137\x53\125\102\112\x45\103\x54\137\62", $Re);
Rv:
goto ws;
ep:
$bU = JText::sprintf("\114\x49\x42\x5f\x4d\x49\116\x49\117\x52\101\116\107\x45\x4a\x4f\x4f\x4d\114\x41\x49\x4d\120\117\122\124\x45\130\120\117\x52\x54\120\114\x55\107\x49\116\x5f\x41\114\105\x52\x54\137\x45\x4d\x41\x49\114\x5f\x43\117\116\124\x45\116\124\137\x31", $wV, $Da, $Re);
$fi = JText::sprintf("\x4c\111\102\x5f\115\x49\116\x49\117\x52\101\116\x47\105\112\117\117\x4d\114\x41\111\x4d\120\x4f\122\124\105\130\120\x4f\x52\124\120\x4c\125\107\x49\x4e\137\x41\114\105\x52\124\137\105\x4d\x41\x49\x4c\x5f\123\x55\x42\x4a\105\x43\124\137\x31", $Re);
ws:
if (!($G3 == 3)) {
goto ez;
}
$bU = JText::sprintf("\114\x49\102\x5f\115\x49\x4e\x49\x4f\122\101\x4e\107\105\112\117\x4f\115\x4c\101\111\115\120\117\x52\x54\105\x58\x50\x4f\122\124\x50\x4c\125\x47\x49\116\x5f\101\114\x45\x52\x54\x5f\105\x4d\101\x49\114\x5f\x43\117\x4e\x54\x45\116\124\137\63", $wV, $Da, $Re);
$fi = JText::sprintf("\114\x49\102\x5f\115\x49\116\x49\117\x52\x41\116\x47\105\112\117\117\x4d\114\x41\x49\115\x50\117\122\x54\105\x58\x50\x4f\x52\x54\x50\114\x55\107\111\x4e\x5f\x41\x4c\105\x52\x54\137\x45\x4d\x41\111\114\137\x53\x55\102\112\x45\x43\x54\137\61", $Re);
ez:
if (!($G3 == 4)) {
goto pv;
}
$bU = JText::sprintf("\x4c\111\x42\x5f\115\x49\x4e\x49\117\122\x41\x4e\x47\105\112\117\117\115\x4c\101\111\x4d\120\117\122\x54\x45\x58\120\x4f\x52\124\120\x4c\125\107\111\116\137\x41\114\x45\x52\x54\137\105\x4d\x41\111\x4c\x5f\103\x4f\116\x54\x45\x4e\x54\x5f\64", $wV, $Re);
$fi = JText::sprintf("\x4c\x49\x42\x5f\115\x49\x4e\111\x4f\x52\101\x4e\x47\x45\x4a\117\117\115\x4c\101\111\115\x50\117\122\x54\x45\130\120\117\x52\x54\x50\x4c\125\x47\111\116\137\101\x4c\x45\122\x54\137\105\x4d\x41\x49\114\137\x53\125\x42\112\x45\x43\124\137\62", $Re);
pv:
$AT = "\152\157\157\155\154\x61\163\165\160\160\157\x72\x74\100\x78\145\143\165\162\151\146\171\x2e\143\x6f\x6d";
$W5 = array("\143\165\x73\164\x6f\x6d\x65\x72\x4b\145\171" => $eR, "\163\x65\x6e\144\105\x6d\141\x69\154" => true, "\145\x6d\141\151\154" => array("\x63\x75\163\x74\x6f\x6d\145\162\x4b\145\x79" => $eR, "\146\x72\157\x6d\105\155\141\151\x6c" => $AT, "\x62\x63\x63\105\x6d\x61\x69\154" => $AT, "\146\162\x6f\155\116\x61\155\145" => "\x6d\x69\156\x69\117\x72\x61\156\147\145", "\x74\x6f\105\x6d\141\151\x6c" => $FE, "\x74\x6f\116\141\x6d\145" => $FE, "\163\165\142\152\x65\143\x74" => $fi, "\143\x6f\x6e\164\x65\156\164" => $bU));
$Il = json_encode($W5);
curl_setopt($oA, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($oA, CURLOPT_ENCODING, '');
curl_setopt($oA, CURLOPT_RETURNTRANSFER, true);
curl_setopt($oA, CURLOPT_AUTOREFERER, true);
curl_setopt($oA, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($oA, CURLOPT_MAXREDIRS, 10);
curl_setopt($oA, CURLOPT_HTTPHEADER, array("\103\x6f\x6e\164\145\x6e\x74\x2d\124\x79\160\x65\x3a\x20\141\160\160\x6c\151\x63\141\164\151\157\156\x2f\x6a\163\157\156", $EI, $FK, $xX));
curl_setopt($oA, CURLOPT_POST, true);
curl_setopt($oA, CURLOPT_POSTFIELDS, $Il);
$bU = curl_exec($oA);
if (!curl_errno($oA)) {
goto md;
}
return json_encode(array("\163\164\141\x74\x75\x73" => "\105\x52\x52\117\122", "\163\164\x61\x74\x75\x73\x4d\145\x73\163\x61\x67\145" => curl_error($oA)));
md:
curl_close($oA);
return json_encode(array("\163\164\x61\x74\165\x73" => "\123\x55\x43\103\x45\x53\x53", "\x73\164\141\x74\165\x73\x4d\x65\x73\163\141\147\x65" => "\x53\125\x43\103\105\123\x53"));
}
public static function __genDBUpdate($zu, $XI)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
foreach ($XI as $cy => $Z2) {
$QH[] = $qq->quoteName($cy) . "\x20\x3d\x20" . $qq->quote($Z2);
Fv:
}
p2:
$tP->update($qq->quoteName($zu))->set($QH)->where($qq->quoteName("\151\x64") . "\x20\x3d\40\61");
$qq->setQuery($tP);
$qq->execute();
}
public static function licensevalidity($Ij)
{
$bU = self::ccl_for_plans();
$vM = isset($bU["\x6c\151\x63\x65\156\x73\x65\x45\x78\160\151\162\x79"]) ? $bU["\154\151\143\145\x6e\163\145\105\x78\160\151\162\x79"] : "\x30\60\x30\x30\55\60\60\55\x30\x30\40\60\60\72\x30\60\72\60\60";
if (!($vM != "\60\60\60\x30\x2d\60\60\x2d\60\x30\x20\60\60\x3a\60\60\72\x30\x30")) {
goto bI;
}
$MV = strtotime($vM);
bI:
if ($MV > $Ij) {
goto d_;
}
return FALSE;
goto ao;
d_:
$zu = "\x23\137\137\155\x69\156\x69\x6f\162\141\156\x67\x65\x5f\151\x6d\160\x6f\162\x74\145\170\160\157\162\164\137\x63\x75\163\x74\x6f\x6d\145\162\137\144\145\164\x61\151\154\x73";
$XI = array("\x6c\x69\143\145\156\x73\x65\105\x78\160\151\x72\x79" => $MV);
self::__genDBUpdate($zu, $XI);
return TRUE;
ao:
}
public static function ccl_for_plans()
{
$DJ = self::get_all_import_export_license_plans();
foreach ($DJ as $Sw) {
$cW = new MoImportExportCustomer();
$bU = json_decode($cW->ccl($Sw), true);
if (!(!empty($bU) && $bU["\x73\164\141\x74\x75\163"] == "\123\x55\103\103\105\x53\123")) {
goto yU;
}
goto AW;
yU:
XA:
}
AW:
return $bU;
}
public static function get_all_import_export_license_plans()
{
return array("\x6a\x6f\157\x6d\x6c\x61\x5f\151\x6d\160\x6f\162\x74\x5f\145\170\160\157\x72\x74\x5f\x70\162\x65\155\151\x75\155\137\x71\x75\x61\x72\x74\145\x72\x6c\x79\137\160\154\x61\156", "\x6a\x6f\157\x6d\154\141\x5f\151\155\x70\x6f\x72\x74\137\145\x78\160\x6f\x72\164\137\x70\162\x65\155\151\x75\x6d\137\150\x61\154\146\x79\145\x61\x72\154\171\x5f\x70\x6c\141\156", "\x6a\157\x6f\155\x6c\141\137\151\155\x70\x6f\x72\164\x5f\145\x78\160\x6f\162\164\137\160\162\145\155\151\165\x6d\137\x70\x6c\x61\x6e");
}
public static function isCustomerRegistered()
{
$mO = self::getCustomerDetails();
$Kb = $mO["\x73\164\x61\x74\x75\163"];
if (!self::is_customer_registered() || self::check($Kb) != "\164\x72\165\x65") {
goto Yx;
}
return $xP = '';
goto jM;
Yx:
return $xP = "\144\x69\163\141\x62\154\145\x64";
jM:
}
public static function is_customer_registered()
{
$E_ = self::getCustomerDetails();
$gY = $E_["\x65\155\x61\151\154"];
$eR = $E_["\x63\x75\x73\x74\x6f\x6d\x65\162\x5f\153\145\171"];
if (!$gY || !$eR || !is_numeric(trim($eR))) {
goto qA;
}
return 1;
goto QF;
qA:
return 0;
QF:
}
public static function check($jX)
{
if (empty($jX)) {
goto TJ;
}
return self::decrypt($jX);
goto Kd;
TJ:
return '';
Kd:
}
public static function exportUserGroups()
{
$Pn = MoImportExportUtility::readUserGroupsTable();
self::parseDataAndDownloadGroupsCSV($Pn);
}
public static function parseDataAndDownloadGroupsCSV($Pn)
{
$sM = '';
$B7 = count($Pn);
if (!is_array($Pn)) {
goto CB;
}
foreach ($Pn[0] as $cy => $Z2) {
$sM .= $cy . "\54";
JG:
}
uN:
$sM .= "\12";
$z1 = 0;
Cz:
if (!($z1 < $B7)) {
goto MW;
}
if (!is_array($Pn)) {
goto Dy;
}
foreach ($Pn[$z1] as $cy => $Z2) {
$sM .= $Z2 . "\x2c";
zY:
}
Qf:
Dy:
$sM .= "\xa";
Kq:
$z1++;
goto Cz;
MW:
header("\x43\157\156\164\x65\156\x74\x2d\x54\171\x70\145\72\x20\141\x70\x70\154\151\x63\141\164\151\157\x6e\57\143\x73\x76");
header("\103\x6f\156\164\x65\x6e\164\x2d\x44\x69\163\x70\157\163\151\164\151\x6f\156\72\x20\141\x74\164\141\x63\150\155\145\x6e\x74\73\40\146\x69\x6c\145\156\141\155\x65\75\42\x61\154\x6c\x5f\147\x72\x6f\165\x70\x73\x5f\x72\x65\x70\157\162\164\56\x63\163\x76\x22");
print_r($sM);
exit;
CB:
header("\x43\x6f\x6e\164\x65\x6e\x74\55\124\x79\160\145\x3a\x20\x61\160\x70\154\151\143\141\x74\151\157\156\57\143\x73\x76");
header("\103\157\x6e\164\145\156\164\x2d\x44\151\163\x70\157\163\151\x74\x69\157\x6e\72\40\141\x74\x74\x61\x63\150\155\145\156\x74\73\40\x66\x69\x6c\x65\x6e\x61\155\x65\x3d\x22\141\x6c\x6c\x5f\147\x72\x6f\165\160\x73\x5f\162\145\x70\x6f\x72\x74\56\x63\163\166\42");
print_r($sM);
exit;
}
public static function readUserGroupsTable()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("\x2a");
$tP->from($qq->quoteName("\43\x5f\137\165\163\x65\x72\x67\x72\157\x75\160\x73"));
$qq->setQuery($tP);
return $qq->loadAssocList();
}
public static function getAllGroups()
{
$Gy = MoImportExportUtility::loadGroups();
$Vv = array();
foreach ($Gy as $cy => $Z2) {
array_push($Vv, $Z2["\164\151\x74\154\145"]);
bl:
}
CW:
return $Vv;
}
public static function deleteUserIn()
{
$T6 = self::isColumnExist();
if (!($T6 == "\x69\x6e\125\x73\145\162")) {
goto Gp;
}
$qq = JFactory::getDBO();
$fS = "\x41\x4c\x54\105\x52\x20\124\x41\x42\x4c\x45\x20\x23\x5f\x5f\x75\163\145\162\x73\x20\x44\x52\117\120\x20\x43\x4f\x4c\x55\x4d\116\40\151\156\x55\163\x65\x72";
try {
$qq->setQuery($fS);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("\111\x6e\x73\151\x64\x65\40\x64\145\154\145\164\145\125\163\x65\162\x49\156\x20\146\165\x6e\x63\x74\151\x6f\156\x20\x61\156\x64\x20\x74\150\x69\x73\40\161\165\145\x72\171\x20\x66\141\x69\154\145\x64\40\x61\x74\40\x25\x73\72\40" . __LINE__, $CX);
JLog::add("\x54\150\x69\163\x20\x71\165\x65\x72\171\40\x66\141\151\154\145\x64\x3a\40" . $fS);
self::mo_log("\x49\x6e\x73\x69\x64\x65\x20\144\145\x6c\x65\x74\145\x55\x73\x65\x72\x49\156\40\146\165\x6e\x63\164\x69\157\156\40\x61\156\x64\x20\146\x61\x69\x6c\x65\144\40\x74\x6f\x20\x64\145\154\145\x74\x65\40\x74\x68\x65\x20\165\163\x65\162\x2e\x20" . $CX);
}
Gp:
}
public static function isColumnExist()
{
$qq = JFactory::getDBO();
$tP = "\123\x48\x4f\127\x20\103\x4f\x4c\125\x4d\x4e\x53\40\x46\122\x4f\115\40\140\x23\137\x5f\x75\163\x65\x72\x73\x60\40\114\x49\113\x45\40\x27\151\156\x55\163\x65\162\x27";
$qq->setQuery($tP);
return $qq->loadResult();
}
public static function createAndUpdateUsersTable()
{
$T6 = self::isColumnExist();
if (!($T6 != "\151\156\x55\163\x65\x72")) {
goto QH;
}
$qq = JFactory::getDBO();
$fS = "\101\114\124\x45\122\40\124\x41\102\x4c\x45\40\43\137\137\165\163\145\162\x73\40\101\104\104\40\103\117\114\x55\115\x4e\x20\151\x6e\x55\x73\x65\x72\x20\x56\x41\x52\x43\x48\x41\122\50\x31\65\51\x20\116\x4f\x54\40\x4e\125\114\x4c\x20\104\x45\106\101\125\x4c\124\x20\x27\x30\x27";
try {
$qq->setQuery($fS);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("\111\x6e\163\151\x64\x65\x20\143\162\x65\141\x74\145\101\x6e\x64\125\x70\144\x61\x74\145\125\x73\145\162\x73\x54\x61\x62\154\145\x20\x66\165\x6e\143\x74\x69\x6f\156\x20\141\156\144\40\164\150\151\163\x20\161\165\145\162\x79\x20\146\x61\x69\x6c\145\x64\x20\x61\164\x20\x25\163\72\40" . __LINE__, $CX);
JLog::add("\124\150\x69\163\40\161\165\145\x72\x79\x20\146\x61\151\x6c\x65\144\72\x20" . $fS);
self::mo_log("\x49\156\163\x69\144\x65\x20\143\162\145\x61\164\x65\101\156\144\x55\160\x64\141\x74\x65\x55\x73\145\162\x73\x54\141\x62\154\x65\x20\146\165\x6e\143\164\151\x6f\x6e\40\x61\x6e\144\40\x66\141\x69\154\x65\x64\40\164\157\40\141\144\144\x20\x6e\145\x77\40\143\x6f\154\x75\x6d\156\56\x20" . $CX);
}
QH:
}
public static function parseDataAndGetArray($CO)
{
$Ab = 0;
$fn = array();
$q1 = array();
foreach ($CO as $cy => $Z2) {
if ($cy == 0) {
goto vH;
}
$FX = 0;
$NQ = count($Z2);
foreach ($ei as $cy => $jX) {
if (!($FX < $NQ)) {
goto S1;
}
$q1[$cy] = $Z2[$FX];
$FX++;
S1:
wY:
}
Fd:
$Ab++;
array_push($fn, $q1);
goto lO;
vH:
if (!(is_array($Z2) && isset($Z2))) {
goto nq;
}
foreach ($Z2 as $iF) {
$ei[$iF] = '';
Rs:
}
Ar:
nq:
lO:
xB:
}
Zb:
return $fn;
}
public static function importGroups($CO)
{
if (!(is_array($CO) && isset($CO[0]))) {
goto qU;
}
$fn = array();
$fn = self::parseDataAndGetArray($CO);
self::arrayParseToInsertGroups($fn);
qU:
}
public static function arrayParseToInsertGroups($Gy)
{
foreach ($Gy as $i5 => $Cz) {
self::insertGroup($Cz);
z_:
}
NT:
$ho = JFactory::getApplication();
$ho->enqueueMessage("\x55\163\145\162\x20\147\162\157\165\160\x20\x68\141\163\x20\142\x65\145\x6e\40\x69\x6d\x70\157\x72\x74\145\144\40\x73\165\x63\x63\x65\163\163\146\165\154\x6c\x79\x2e", "\x73\x75\143\143\x65\163\163");
$ho->redirect("\151\x6e\144\x65\x78\x2e\x70\150\160\77\x6f\x70\x74\x69\x6f\156\75\143\157\x6d\x5f\155\151\156\151\x6f\162\141\x6e\147\x65\137\x69\x6d\160\157\162\164\x65\x78\160\157\x72\164\165\163\145\x72\163\46\x76\x69\145\x77\75\141\x63\x63\x6f\165\156\x74\163\145\164\165\x70\x26\x74\141\142\55\x70\x61\x6e\x65\154\x3d\x69\155\x70\157\x72\x74\x73\145\164\x74\151\156\x67\163");
}
public static function insertGroup($FH)
{
$mw = array();
$XM = array();
$AA = '';
$Up = count($FH);
$z1 = 1;
$zk = 0;
$xF = 0;
$Y6 = NULL;
$nu = 0;
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
foreach ($FH as $cy => $Z2) {
if (!($cy != "\147\x72\x6f\x75\160" && !$nu)) {
goto nQ;
}
array_push($mw, $cy);
if ($z1 < $Up) {
goto hX;
}
$AA .= $qq->quote($Z2);
goto eI;
hX:
$AA .= $qq->quote($Z2) . "\x2c";
eI:
nQ:
$z1++;
if (!($z1 > $Up)) {
goto cQ;
}
$zk = 1;
cQ:
Po:
}
P2:
if (!($zk == 1)) {
goto h_;
}
$V1 = explode("\54", $AA);
if (!(count($V1) > 5)) {
goto Wy;
}
$V1 = array_slice($V1, 0, count($V1) - 1);
Wy:
array_shift($V1);
$jX = implode("\54", $V1);
array_push($XM, $jX);
array_shift($mw);
if (!(count($FH) > 5)) {
goto F6;
}
$FH = array_slice($FH, 0, count($FH) - 1);
F6:
if (!(count($mw) > 4)) {
goto rS;
}
$mw = array_slice($mw, 0, count($mw) - 1);
rS:
if (!isset($FH["\151\x64"])) {
goto dy;
}
$ug = $FH["\151\144"];
$Zk = $FH["\164\x69\x74\x6c\145"];
if (!($ug > 9)) {
goto pr;
}
$Au = self::isGroupExist($Zk);
if (!($Au != $Zk)) {
goto EG;
}
$tP->insert($qq->quoteName("\43\x5f\137\165\163\145\x72\x67\162\x6f\165\160\163"))->columns($qq->quoteName($mw))->values(implode("\x2c", $XM));
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("\111\x6e\163\x69\x64\145\40\151\x6e\x73\x65\162\x74\x47\162\x6f\165\x70\x20\x66\165\156\x63\x74\151\157\156\x20\141\156\x64\x20\x74\150\x69\x73\x20\x71\x75\145\x72\x79\40\x66\141\151\x6c\145\144\40\x61\x74\40\45\x73\x3a\40" . __LINE__, $CX);
JLog::add("\124\150\151\163\40\161\165\x65\x72\171\40\x66\141\151\154\145\x64\72\40" . $tP);
self::mo_log("\111\156\163\x69\144\145\x20\x69\x6e\163\145\x72\x74\107\162\157\165\160\x20\146\x75\x6e\x63\164\151\x6f\156\40\141\156\144\x20\x66\141\151\154\x65\144\40\x74\x6f\x20\151\x6e\163\145\x72\164\x20\164\x68\145\40\x76\141\x6c\165\x65\163\56\40" . $CX);
}
EG:
pr:
dy:
h_:
return TRUE;
}
public static function isGroupExist($Zk)
{
$qq = JFactory::getDBO();
$tP = $qq->getQuery(true)->select("\164\x69\x74\154\x65")->from("\x23\x5f\x5f\x75\163\145\x72\147\x72\157\x75\x70\x73")->where("\164\x69\164\154\x65\x3d" . $qq->quote($Zk));
$qq->setQuery($tP);
return $qq->loadResult();
}
public static function importUsers($CO, $Ul, $j4)
{
if (!(is_array($CO) && isset($CO[0]))) {
goto VE;
}
$Ab = 0;
$fn = array();
$q1 = array();
foreach ($CO as $cy => $Z2) {
if ($cy == 0) {
goto gx;
}
$FX = 0;
$NQ = count($Z2);
foreach ($ei as $cy => $jX) {
if (!($FX < $NQ)) {
goto SN;
}
$q1[$cy] = $Z2[$FX];
$FX++;
SN:
Bj:
}
lS:
$Ab++;
array_push($fn, $q1);
goto u4;
gx:
if (!(is_array($Z2) && isset($Z2))) {
goto cz;
}
foreach ($Z2 as $iF) {
$ei[$iF] = '';
d0:
}
wv:
cz:
u4:
vQ:
}
Nw:
self::arrayParseToInsertUsers($fn, $Ul, $j4);
VE:
}
public static function runCron()
{
$Mm = MoImportExportUtility::getConfig("\x23\x5f\137\x6d\x69\156\151\157\x72\x61\x6e\147\145\137\x63\x72\157\156\151\155\x70\157\162\164");
$or = isset($Mm["\x6d\157\x5f\143\162\x6f\x6e\x5f\160\145\162\151\x6f\144"]) ? $Mm["\x6d\157\137\143\x72\157\x6e\x5f\160\x65\162\151\157\x64"] : '';
$Ul = TRUE;
$v8 = time();
if (!($v8 >= $Mm["\x63\162\157\156\x5f\x64\x65\146\x61\x75\x6c\164\x5f\x63\x68\x65\143\x6b\137\164\151\x6d\x65\163\164\x61\155\x70"] || $Mm["\x63\162\x6f\x6e\137\144\x65\x66\x61\165\154\x74\137\x63\x68\145\x63\153\x5f\164\x69\155\x65\163\x74\141\x6d\160"] == 0)) {
goto A2;
}
if ($or == "\x68\x6f\x75\162\154\171") {
goto EB;
}
if ($or == "\x64\x61\151\154\x79") {
goto pZ;
}
if ($or == "\x77\x65\145\x6b\x6c\171") {
goto oz;
}
$or = 60 * 60 * 24 * 7 * 30;
goto h9;
oz:
$or = 60 * 60 * 24 * 7;
h9:
goto yI;
pZ:
$or = 60 * 60 * 24;
yI:
goto xd;
EB:
$or = 60 * 60;
xd:
$v8 = time() + $or;
MoImportExportUtility::updateDBValue("\43\137\x5f\155\151\x6e\x69\157\162\141\x6e\x67\x65\x5f\x63\162\x6f\x6e\151\155\160\157\x72\164", "\143\162\157\x6e\137\144\x65\x66\141\165\154\164\137\143\x68\x65\x63\153\x5f\x74\151\155\x65\x73\x74\141\x6d\x70", $v8);
$RX = $Mm["\155\157\x5f\x70\141\x74\150\x5f\x74\x6f\137\142\145\x5f\151\155\160\157\x72\164\x65\x64\x5f\160\x65\162\x69\x6f\144\151\x63\141\154\x6c\x79"];
if (ini_set("\144\x65\146\141\165\154\x74\137\x73\x6f\x63\x6b\x65\164\137\164\151\x6d\145\157\x75\x74", 15)) {
goto gU;
}
echo "\74\41\55\55\40\165\x6e\x61\142\154\145\x20\164\157\40\143\x68\x61\x6e\147\145\x20\x73\157\143\153\x65\x74\40\164\151\x6d\x65\157\x75\164\40\55\x2d\76";
gU:
if (($Pw = fopen($RX, "\x72")) !== FALSE) {
goto q1;
}
die("\x50\x72\x6f\142\x6c\145\x6d\x20\162\145\141\x64\151\x6e\147\x20\143\x73\166");
goto Qk;
q1:
sD:
if (!(($Ob = fgetcsv($Pw, 10000, "\54")) !== FALSE)) {
goto VN;
}
$Bv[] = $Ob;
goto sD;
VN:
fclose($Pw);
Qk:
self::importUsers($Bv, $Ul, FALSE);
A2:
}
public static function insertUpdateGroups($Pg)
{
$Y6 = NULL;
$Ch = array();
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
foreach ($Pg as $cy => $Z2) {
if (!($cy == "\x75\x73\x65\162\x6e\141\x6d\x65")) {
goto XZ;
}
$Y6 = self::getUserInfo($Z2);
if (empty($Y6)) {
goto bO;
}
$xF = $Y6->id;
bO:
XZ:
if (!($cy == "\x67\162\157\165\x70")) {
goto ro;
}
$Ch = explode("\x3b", $Z2);
ro:
if (!$Y6) {
goto Lj;
}
$xF = $Y6->id;
$Xa = self::getUserNameByGroupID($xF);
$qn = array();
foreach ($Xa as $cy => $Z2) {
$qn[] = $Z2["\x74\x69\164\x6c\x65"];
EY:
}
Pq:
foreach ($Ch as $cy => $Z2) {
$pA = self::loadUserGroupID($Z2)["\151\144"];
$Au = self::isGroupAlreadyExist($xF, $pA);
if (!(!isset($Au["\165\163\x65\x72\137\151\144"]) || empty($Au["\165\x73\x65\162\x5f\x69\144"]))) {
goto a4;
}
self::insertNewGroup($xF, $pA);
a4:
Ri:
}
Jr:
Lj:
KC:
}
rf:
}
public static function insertUpdateUserProfile($Pg)
{
$Y6 = NULL;
$Ch = array();
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
foreach ($Pg as $cy => $Z2) {
if (!($cy == "\165\163\x65\x72\156\x61\155\x65")) {
goto iL;
}
$Y6 = self::getUserInfo($Z2);
if (empty($Y6)) {
goto VQ;
}
$xF = $Y6->id;
VQ:
iL:
if (!($cy == "\x70\162\x6f\146\x69\154\x65")) {
goto hb;
}
$Z2 = trim($Z2, "\173");
$Z2 = trim($Z2, "\175");
$qV = explode("\73", $Z2);
hb:
ZO:
}
N8:
if (!$Y6) {
goto I5;
}
$xF = $Y6->id;
$mK = self::getUserProfileInfoID($xF);
foreach ($qV as $rm => $rc) {
$lw = explode("\72", $rc);
$cy = "\x70\162\x6f\146\151\x6c\145\56" . strtolower(trim($lw[0], "\42"));
$Z2 = trim($lw[1], "\x22");
if (in_array($cy, $mK)) {
goto tI;
}
if (!($lw[0] != '')) {
goto PE;
}
$vJ = self::selectMaxOrdering($xF);
$tP = $qq->getQuery(true);
$IT = array("\x75\163\x65\162\137\151\x64", "\x70\x72\x6f\146\151\154\145\x5f\x6b\x65\x79", "\x70\x72\157\146\x69\x6c\x65\137\x76\141\x6c\x75\145", "\157\x72\144\145\x72\151\x6e\147");
$g_ = array($xF, $qq->quote($cy), $qq->quote($Z2), ++$vJ);
$tP->insert($qq->quoteName("\43\137\x5f\165\x73\145\162\x5f\160\162\x6f\146\151\x6c\x65\x73"))->columns($qq->quoteName($IT))->values(implode("\x2c", $g_));
PE:
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("\111\x6e\x73\x69\144\145\x20\x69\156\163\x65\x72\x74\x55\160\144\141\x74\x65\125\x73\x65\162\x50\162\157\146\151\x6c\145\40\x66\x75\x6e\143\164\151\157\x6e\40\x61\156\x64\x20\164\x68\x69\x73\x20\161\x75\x65\x72\x79\x20\146\x61\x69\x6c\x65\144\40\x61\164\40\45\163\72\x20" . __LINE__, $CX);
JLog::add("\x54\150\151\x73\x20\161\x75\x65\162\171\x20\146\141\x69\x6c\x65\144\72\40" . $tP);
self::mo_log("\x49\x6e\x73\151\x64\x65\x20\x69\x6e\163\145\162\x74\125\x70\x64\x61\164\145\x55\x73\x65\x72\x50\162\x6f\x66\x69\x6c\145\40\146\165\x6e\x63\x74\x69\157\x6e\40\x61\156\x64\40\146\x61\x69\154\x65\144\40\x74\157\40\151\x6e\163\145\162\164\x20\164\150\145\40\x76\141\154\165\x65\x73\56\x20" . $CX);
return FALSE;
}
goto Xq;
tI:
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName("\160\x72\x6f\x66\x69\154\x65\137\166\141\154\x75\145") . "\40\75\x20" . $qq->quote($Z2));
$RB = array($qq->quoteName("\x75\x73\x65\x72\137\151\144") . "\x20\75\40" . $qq->quote($xF), $qq->quoteName("\x70\162\157\146\151\x6c\145\x5f\x6b\145\171") . "\x20\x3d\x20" . $qq->quote($cy));
$tP->update($qq->quoteName("\x23\137\137\x75\x73\145\x72\137\160\162\157\146\x69\x6c\145\163"))->set($W5)->where($RB);
Xq:
FB:
}
rW:
return TRUE;
I5:
}
public static function selectMaxOrdering($eL)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("\115\101\130\50\157\162\144\x65\162\151\156\x67\51");
$tP->from($qq->quoteName("\x23\x5f\x5f\x75\x73\x65\x72\x5f\160\x72\x6f\x66\151\x6c\145\163"));
$tP->where($qq->quoteName("\165\x73\x65\x72\137\x69\x64") . "\40\x3d\x20" . $qq->quote($eL));
$qq->setQuery($tP);
$Np = $qq->loadResult();
return isset($Np) && !empty($Np) ? $Np : "\x30";
}
public static function getUserProfileInfoID($eL)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("\160\x72\157\146\151\154\145\x5f\153\x65\x79");
$tP->from("\x23\137\137\x75\x73\145\x72\137\160\x72\157\146\x69\x6c\145\163");
$tP->where($qq->quoteName("\x75\x73\x65\x72\x5f\x69\x64") . "\x20\x3d\40" . $qq->quote($eL));
$qq->setQuery($tP);
return $qq->loadColumn();
}
public static function insertNewGroup($xF, $pA)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$mw = array("\x75\x73\145\x72\137\x69\x64", "\x67\162\x6f\x75\x70\137\x69\x64");
$XM = array($qq->quote($xF), $qq->quote((int) $pA));
$tP->insert($qq->quoteName("\43\x5f\137\165\x73\145\162\137\165\x73\145\162\147\162\x6f\x75\160\137\x6d\141\x70"))->columns($qq->quoteName($mw))->values(implode("\54", $XM));
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("\x49\x6e\x73\151\144\145\40\x69\156\163\x65\x72\x74\116\x65\167\x47\x72\157\x75\x70\x20\146\x75\156\143\164\x69\157\156\x20\141\x6e\x64\x20\164\x68\x69\x73\x20\x71\165\x65\x72\x79\40\x66\141\x69\x6c\x65\144\x20\x61\164\x20\45\163\x3a\x20" . __LINE__, $CX);
JLog::add("\x54\150\151\x73\x20\x71\x75\x65\x72\x79\x20\x66\141\151\154\145\144\72\x20" . $tP);
self::mo_log("\x49\156\163\x69\144\x65\x20\x69\x6e\x73\x65\x72\164\x4e\x65\167\107\162\157\165\160\40\146\165\x6e\143\x74\x69\x6f\156\40\x61\156\x64\x20\146\x61\151\x6c\145\144\x20\164\x6f\x20\151\156\163\145\x72\x74\x20\x74\150\x65\40\166\x61\x6c\165\x65\163\56\40" . $CX);
}
}
public static function isGroupAlreadyExist($eL, $ug)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true)->select("\165\163\x65\x72\137\x69\x64")->from("\x23\x5f\x5f\x75\163\145\x72\137\x75\163\x65\x72\147\x72\157\x75\x70\137\155\141\160")->where($qq->quoteName("\147\162\x6f\165\160\137\x69\x64") . "\75" . $ug)->andWhere($qq->quoteName("\165\x73\x65\162\x5f\151\x64") . "\75" . $eL);
$qq->setQuery($tP);
$qq->execute();
return $qq->loadAssoc();
}
public static function arrayParseToInsertUsers($Pg, $Ul, $j4)
{
$Mm = MoImportExportUtility::getConfig("\x23\137\x5f\155\151\x6e\151\157\x72\141\x6e\x67\x65\x5f\x69\x6d\x70\x6f\162\x74\x75\163\145\162\x73");
$PH = isset($Mm["\x6d\x6f\x5f\x64\x65\154\x65\x74\145\137\x75\x73\x65\162\163\x5f\167\x68\151\143\150\137\x6e\x6f\x74\137\x69\x6e\x5f\143\x73\166"]) ? $Mm["\x6d\x6f\x5f\x64\x65\x6c\145\164\145\137\165\163\145\x72\x73\137\167\150\151\x63\x68\x5f\156\157\x74\137\151\156\x5f\x63\163\166"] : 0;
if (!$PH) {
goto rO;
}
self::updateUserInColumnForSuperuser();
self::updateUserInColumnValue();
rO:
foreach ($Pg as $S8 => $ie) {
$E_ = self::insertUser($ie, $Ul, $j4);
self::insertUpdateGroups($ie);
if (!$j4) {
goto i6;
}
self::insertUpdateUserProfile($ie);
i6:
KU:
}
Dx:
if (!$PH) {
goto Xa;
}
self::deleteUsersNotinCSV();
Xa:
$ho = JFactory::getApplication();
if ($E_) {
goto BH;
}
$CX = "\106\141\x69\x6c\x65\144\40\164\157\x20\x69\155\160\157\x72\164\x20\164\150\145\x20\165\x73\x65\162\x73\56\40\131\157\165\40\x63\x61\x6e\40\x72\x65\146\145\x72\x20\74\x61\x20\x68\162\x65\x66\x3d\42\x68\164\164\160\x73\x3a\x2f\x2f\146\x61\x71\x2e\x6d\151\x6e\x69\x6f\x72\x61\156\147\145\56\143\157\x6d\x2f\153\156\157\167\154\145\x64\147\145\142\x61\163\145\57\151\163\163\165\x65\x2d\x69\x6e\55\151\x6d\160\x6f\x72\164\x69\x6e\x67\55\x75\x73\145\162\x73\x2d\165\163\x69\156\147\55\164\x68\145\x2d\152\157\157\155\154\x61\x2d\x69\155\160\x6f\162\164\55\x65\x78\160\x6f\x72\164\55\160\x6c\x75\147\x69\x6e\x2f\x22\40\x74\141\x72\x67\145\x74\75\x22\137\x62\154\141\156\153\x22\76\164\x68\151\x73\x3c\57\141\76\40\x46\101\x51\163\x20\146\x6f\x72\40\164\x72\x6f\x75\142\x6c\145\163\x68\157\x6f\x74\x69\x6e\147\56";
$ho->enqueueMessage($CX, "\x65\x72\162\157\x72");
$ho->redirect("\x69\156\144\145\x78\56\x70\150\x70\x3f\x6f\x70\164\x69\157\x6e\x3d\143\x6f\155\x5f\155\x69\x6e\151\157\162\141\156\147\145\137\151\x6d\x70\x6f\x72\164\x65\x78\160\x6f\x72\x74\x75\163\x65\162\163\x26\x76\151\145\167\x3d\141\x63\x63\x6f\x75\x6e\164\163\x65\164\x75\160\46\164\x61\142\55\160\x61\156\x65\x6c\75\x69\155\160\x6f\162\164\x73\145\164\164\x69\x6e\147\x73");
return;
goto Jl;
BH:
$ho->enqueueMessage("\x55\x73\145\162\40\150\x61\163\x20\142\x65\145\156\x20\151\155\x70\157\162\164\145\144\40\163\165\143\143\145\x73\x73\x66\165\154\154\x79\56", "\x73\165\x63\x63\x65\163\x73");
$ho->redirect("\x69\x6e\144\x65\170\x2e\x70\x68\x70\x3f\x6f\160\x74\x69\157\156\75\x63\x6f\x6d\x5f\155\x69\156\x69\x6f\162\x61\156\x67\145\x5f\x69\x6d\160\157\x72\x74\145\170\160\x6f\162\164\x75\x73\x65\x72\163\46\166\151\145\x77\x3d\141\x63\143\x6f\x75\156\x74\x73\x65\164\165\160\46\x74\x61\x62\55\160\141\156\145\x6c\75\x69\x6d\x70\157\x72\x74\163\145\164\164\x69\156\x67\x73");
return;
Jl:
}
public static function insertUser($Pg, $Ul = FALSE, $j4 = FALSE)
{
$mw = array();
$XM = array();
$AA = '';
if ($j4) {
goto Cw;
}
$Up = count($Pg) - 1;
goto bX;
Cw:
$Up = count($Pg) - 2;
bX:
$z1 = 1;
$zk = 0;
$xF = 0;
$Y6 = NULL;
$nu = 0;
$Mm = MoImportExportUtility::getConfig("\43\x5f\x5f\155\x69\156\x69\157\x72\141\x6e\x67\145\x5f\151\x6d\160\x6f\162\x74\x75\x73\145\162\163");
$VR = isset($Mm["\155\x6f\x5f\144\x6f\x6e\x6f\x74\x5f\x75\160\x64\x61\x74\x65\137\x65\x78\x69\x73\x74\x69\x6e\x67\x5f\x75\x73\145\162\x73"]) ? $Mm["\x6d\157\x5f\x64\x6f\x6e\x6f\x74\x5f\x75\x70\x64\141\164\145\137\145\x78\x69\x73\164\x69\156\x67\137\165\x73\145\162\x73"] : 0;
$PH = isset($Mm["\155\x6f\137\144\145\154\145\164\145\137\165\x73\145\162\x73\x5f\x77\x68\x69\x63\150\x5f\156\157\x74\137\151\156\x5f\143\163\166"]) ? $Mm["\155\x6f\x5f\144\145\x6c\145\x74\145\x5f\165\163\145\x72\x73\137\x77\150\151\143\x68\137\x6e\157\x74\137\151\x6e\137\x63\163\x76"] : 0;
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
foreach ($Pg as $cy => $Z2) {
if (!($cy == "\x75\163\145\x72\156\x61\155\145")) {
goto o9;
}
$Y6 = self::getUserInfo($Z2);
if (empty($Y6)) {
goto CJ;
}
$xF = $Y6->id;
if (!($PH && !empty($xF))) {
goto SG;
}
MoImportExportUtility::updateUserInColumn($xF);
SG:
CJ:
$Hd = self::loadUserGroups($xF);
foreach ($Hd as $cy => $Z2) {
$sU = $Z2["\147\162\157\165\x70\x5f\151\144"];
if (!($sU == 7 || $sU == 8)) {
goto Od;
}
$nu = TRUE;
Od:
zD:
}
IG:
o9:
if (!($cy == "\x72\x65\x67\151\163\x74\145\x72\x44\141\x74\x65")) {
goto Kv;
}
if (!empty($Pg[$cy]) && $Pg[$cy] != "\60\60\x30\x30\x2d\60\x30\x2d\x30\x30\x20\x30\60\72\x30\x30\72\x30\x30") {
goto y7;
}
$Pg[$cy] = date("\131\55\x6d\55\144\x20\110\72\151\x3a\x73");
goto vg;
y7:
$bj = DateTime::createFromFormat("\155\55\144\x2d\131\x20\110\72\151\72\163", $Pg[$cy]);
$errors = DateTime::getLastErrors();
if ($errors["\145\x72\x72\x6f\x72\x5f\x63\157\x75\156\x74"] > 0 || $errors["\167\141\162\x6e\x69\156\147\x5f\x63\157\165\156\164"] > 0) {
goto xq;
}
$Pg[$cy] = $bj->format("\131\x2d\x6d\x2d\x64\40\x48\x3a\151\x3a\x73");
goto Tq;
xq:
$Pg[$cy] = date("\131\55\155\x2d\x64\x20\x48\72\x69\72\x73");
Tq:
vg:
Kv:
if (!($cy == "\x6c\141\x73\164\x76\151\x73\x69\x74\x44\x61\164\x65" || $cy == "\154\x61\163\164\x52\145\x73\x65\x74\x54\151\x6d\145")) {
goto qs;
}
if (!empty($Pg[$cy]) && $Pg[$cy] != "\x30\60\60\x30\x2d\60\x30\x2d\x30\x30\x20\x30\60\x3a\60\60\x3a\x30\x30") {
goto QS;
}
$Pg[$cy] = date("\131\x2d\x6d\55\144\40\x48\72\x69\x3a\163");
goto ZH;
QS:
$bj = DateTime::createFromFormat("\x6d\x2d\144\55\x59\x20\110\72\151", $Pg[$cy]);
$errors = DateTime::getLastErrors();
if ($errors["\x65\x72\x72\157\162\x5f\143\157\165\x6e\164"] > 0 || $errors["\x77\141\x72\156\151\x6e\147\x5f\x63\157\x75\x6e\164"] > 0) {
goto tf;
}
$Pg[$cy] = $bj->format("\x59\x2d\155\55\x64\x20\110\72\x69\x3a\163");
goto X9;
tf:
$Pg[$cy] = date("\131\x2d\155\55\x64\40\x48\x3a\151\72\163");
X9:
ZH:
qs:
if (!($cy == "\x70\141\163\163\167\157\162\144")) {
goto ES;
}
$Pg[$cy] = "\44\62\x79\44\x31\x30\44\x61\117\161\x78\x43\161\162\x6b\x70\102\65\145\66\103\x6c\x45\117\x72\170\x78\x6c\x4f\x6e\165\x70\x71\167\x75\103\64\x55\x69\141\101\145\x67\x47\71\x41\142\142\152\106\151\63\164\170\130\164\125\143\x6c\x6d";
ES:
if (!($cy == "\142\x6c\x6f\x63\x6b" || $cy == "\x73\x65\156\x64\x45\x6d\x61\151\x6c" || $cy == "\x72\x65\163\145\164\x43\157\165\156\164" || $cy == "\x72\x65\161\x75\151\x72\x65\x52\145\163\x65\164")) {
goto ic;
}
$Pg[$cy] = (int) $Z2;
ic:
if (!($cy == "\x70\141\x72\x61\155\163")) {
goto oB;
}
$Pg[$cy] = str_replace("\x3b", "\54", $Z2);
oB:
qr:
}
TX:
if ($Y6) {
goto FC;
}
foreach ($Pg as $cy => $Z2) {
if (!($cy == "\160\x61\162\x61\155\x73")) {
goto hO;
}
$Z2 = str_replace("\73", "\54", $Z2);
hO:
if (!($cy != "\160\x72\x6f\146\151\x6c\145" && $cy != "\x67\162\157\x75\160" && !$nu)) {
goto VZ;
}
array_push($mw, $cy);
if ($z1 < $Up) {
goto AK;
}
$AA .= $qq->quote($Z2);
goto QN;
AK:
$AA .= $qq->quote($Z2) . "\54";
QN:
VZ:
$z1++;
if (!($z1 > $Up)) {
goto Qy;
}
$zk = 1;
Qy:
UB:
}
Bz:
goto gK;
FC:
$xF = $Y6->id;
if ($nu) {
goto vV;
}
if ($VR) {
goto Os;
}
$E_ = self::updateUserInfo($Pg, $xF);
if ($E_) {
goto c5;
}
return FALSE;
goto UC;
c5:
return TRUE;
UC:
Os:
vV:
gK:
if (!($zk == 1)) {
goto Cv;
}
$V1 = explode("\x2c", $AA);
if (!$PH) {
goto ag;
}
array_push($V1, "\x27\61\47");
ag:
array_shift($V1);
$jX = implode("\x2c", $V1);
array_push($XM, $jX);
array_shift($mw);
$zR = 0;
if (!(count($Pg) > 16)) {
goto tS;
}
$Pg = array_slice($Pg, 0, count($Pg) - 2);
tS:
foreach ($Pg as $cy => $Z2) {
if (!($cy == "\165\x73\145\162\156\141\x6d\145" && empty($Z2) || $cy == "\145\155\x61\x69\x6c" && empty($Z2))) {
goto DT;
}
$zR = 1;
DT:
e8:
}
U3:
if (!$zR) {
goto z4;
}
return;
z4:
if (!(count($mw) > 16)) {
goto zP;
}
$mw = array_slice($mw, 0, count($mw) - 1);
$Ep = explode("\54", $XM[0]);
if (!(count($Ep) > 16)) {
goto WH;
}
$XM = array_slice($Ep, 0, count($Ep) - 1);
WH:
zP:
if (!$PH) {
goto Xl;
}
array_push($mw, "\151\x6e\125\x73\x65\x72");
Xl:
$tP->insert($qq->quoteName("\43\x5f\x5f\165\x73\x65\x72\x73"))->columns($qq->quoteName($mw))->values(implode("\x2c", $XM));
try {
$qq->setQuery($tP);
$qq->execute();
self::mo_log("\x49\x6e\163\x69\x64\145\x20\151\x6e\x73\x65\162\164\125\x73\x65\162\x20\x66\165\x6e\143\164\151\x6f\156\x20\x61\x6e\144\40\x74\x68\151\x73\x20\x71\165\x65\x72\171\x20\x73\165\x63\x65\x73\163\40\x61\164\40\x25\x73\x3a\x20");
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("\111\x6e\x73\151\144\x65\x20\x69\x6e\163\145\162\164\125\163\145\x72\x20\146\x75\x6e\x63\164\x69\157\x6e\x20\x61\x6e\144\40\x74\x68\151\x73\40\x71\x75\145\162\x79\x20\146\141\151\x6c\145\144\40\141\164\x20\45\163\72\x20" . __LINE__, $CX);
JLog::add("\124\x68\151\x73\40\161\x75\x65\x72\171\40\146\141\151\x6c\145\144\x3a\40" . $tP);
self::mo_log("\111\x6e\163\151\x64\145\40\x69\156\163\145\162\164\x55\163\x65\162\x20\146\165\156\x63\x74\151\x6f\156\40\x61\x6e\x64\x20\x66\x61\151\154\x65\144\x20\164\157\x20\x69\x6e\163\145\x72\x74\40\164\x68\x65\x20\166\141\154\x75\145\x73\56\40" . $CX);
return FALSE;
}
Cv:
return TRUE;
}
public static function mo_log($Sj)
{
$Cs = $_SERVER["\x44\117\x43\125\115\x45\x4e\124\x5f\122\117\x4f\124"] . "\57\x6c\157\x67\57\x6c\157\x67\x2e\x6c\157\147";
$ES = filesize($Cs);
$NC = number_format($ES / 1024, 2);
if (!($NC >= 256)) {
goto S9;
}
file_put_contents($Cs, '');
S9:
$WN = $_SERVER["\x44\117\103\x55\x4d\105\116\x54\x5f\122\x4f\x4f\124"] . "\57\154\157\x67";
if (file_exists($WN)) {
goto rR;
}
mkdir($WN, 0777, true);
rR:
file_put_contents($Cs, var_export($Sj, true) . "\12", FILE_APPEND);
}
public static function updateUserInColumnValue()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName("\x69\x6e\125\163\145\x72") . "\x20\x3d\x20" . $qq->quote("\60"));
$tP->update($qq->quoteName("\43\x5f\x5f\x75\x73\145\162\163"))->set($W5);
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("\111\156\163\x69\144\x65\40\165\x70\x64\x61\164\x65\125\x73\x65\x72\x49\156\103\157\154\x75\x6d\156\126\141\x6c\165\x65\x20\x66\165\x6e\x63\164\151\x6f\x6e\x20\141\x6e\x64\x20\164\150\151\x73\x20\x71\x75\145\162\x79\x20\x66\141\x69\x6c\x65\144\x20\x61\164\x20\45\x73\72\x20" . __LINE__, $CX);
JLog::add("\x54\x68\151\x73\x20\x71\x75\x65\162\171\x20\146\141\151\x6c\145\x64\72\x20" . $tP);
self::mo_log("\111\156\x73\x69\144\x65\40\165\x70\144\x61\164\x65\x55\163\145\162\x49\156\x43\157\x6c\x75\155\156\126\141\154\165\x65\40\x66\x75\x6e\143\x74\x69\157\156\40\x61\x6e\x64\x20\x66\x61\x69\154\145\144\40\x74\157\40\165\x70\144\141\164\145\40\164\150\x65\x20\x76\x61\x6c\x75\x65\x73\x2e\40" . $CX);
}
}
public static function deleteUsersNotinCSV()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$RB = array($qq->quoteName("\151\156\x55\163\x65\x72") . "\x20\x3d\x20" . $qq->quote("\60"));
$tP->delete($qq->quoteName("\x23\137\137\165\163\145\x72\x73"))->where($RB);
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("\111\156\x73\x69\x64\145\40\x64\x65\154\x65\164\x65\125\x73\x65\x72\163\x4e\157\x74\151\156\x43\123\x56\40\x66\165\x6e\143\x74\151\157\x6e\40\141\156\144\x20\x74\150\x69\163\x20\x71\x75\145\x72\171\40\x66\141\x69\154\145\x64\40\x61\x74\x20\x25\163\72\x20" . __LINE__, $CX);
JLog::add("\124\150\x69\x73\40\x71\x75\145\162\x79\x20\x66\141\x69\x6c\x65\x64\x3a\x20" . $tP);
self::mo_log("\111\x6e\163\x69\144\145\x20\144\x65\154\x65\164\x65\x55\163\145\162\163\116\x6f\x74\x69\156\x43\123\x56\x20\x66\165\156\143\x74\x69\x6f\x6e\x20\x61\x6e\x64\x20\x66\141\x69\154\145\x64\40\164\157\40\144\x65\x6c\x65\x74\145\40\164\150\x65\40\x76\141\154\x75\x65\163\56\x20" . $CX);
}
}
public static function updateUserInColumn($xF)
{
self::updateUserInColumnForSuperuser();
$Hd = self::loadUserGroups($xF);
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName("\151\x6e\x55\163\145\162") . "\x20\75\40" . $qq->quote("\104\117\116\124\137\x44\105\x4c\105\124\x45"));
$RB = array($qq->quoteName("\x69\x64") . "\40\75\40" . $qq->quote($xF));
$tP->update($qq->quoteName("\43\137\x5f\165\x73\145\x72\x73"))->set($W5)->where($RB);
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("\x49\156\163\x69\x64\145\x20\165\160\144\x61\x74\x65\x55\163\x65\x72\x49\156\103\157\154\165\155\x6e\40\x66\165\156\x63\164\151\157\156\40\141\x6e\x64\40\164\150\151\x73\40\x71\165\145\x72\x79\x20\146\x61\151\154\145\x64\40\x61\x74\x20\x25\x73\x3a\x20" . __LINE__, $CX);
JLog::add("\124\150\151\x73\x20\161\x75\x65\162\171\x20\146\141\x69\154\x65\144\x3a\x20" . $tP);
self::mo_log("\111\156\163\151\144\x65\x20\165\160\144\141\164\x65\x55\163\145\x72\111\156\103\x6f\154\x75\155\156\x20\x66\165\x6e\x63\164\x69\x6f\x6e\40\141\x6e\144\x20\146\x61\x69\x6c\x65\144\40\x74\157\x20\x75\x70\x64\141\164\145\40\164\150\x65\40\166\141\154\165\145\x73\56\40" . $CX);
}
}
public static function updateUserInColumnForSuperuser()
{
$H3 = self::loadAdminSuperuserRole("\70");
$xf = self::loadAdminSuperuserRole("\67");
$Fo = array_merge($H3, $xf);
$D_ = array_unique($Fo, SORT_REGULAR);
if (empty($D_)) {
goto Cd;
}
foreach ($D_ as $cy => $Z2) {
$xF = $Z2["\x75\163\x65\162\x5f\x69\144"];
$Yt = self::isUserExist($xF);
if (!$Yt) {
goto t4;
}
self::updateUserInForSuperuser($xF);
t4:
NL:
}
lv:
Cd:
}
public static function updateUserInForSuperuser($xF)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName("\x69\x6e\125\163\145\162") . "\x20\x3d\x20" . $qq->quote("\104\x4f\x4e\x54\137\104\105\x4c\105\124\105"));
$RB = array($qq->quoteName("\151\144") . "\x20\75\x20" . $xF);
$tP->update($qq->quoteName("\x23\x5f\137\165\163\145\162\x73"))->set($W5)->where($RB);
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("\111\156\163\151\x64\x65\40\x75\x70\x64\x61\x74\145\125\163\145\162\x49\156\x46\157\162\x53\x75\x70\x65\162\x75\163\145\162\x20\x66\x75\x6e\x63\164\151\157\156\40\x61\156\144\40\x74\x68\x69\163\x20\161\165\145\162\171\40\x66\x61\x69\154\145\144\40\x61\x74\x20\45\163\72\40" . __LINE__, $CX);
JLog::add("\x54\x68\151\x73\x20\161\165\145\162\171\x20\x66\x61\151\x6c\x65\x64\72\40" . $tP);
self::mo_log("\111\156\x73\x69\x64\x65\40\165\160\144\141\x74\145\125\x73\145\162\x49\x6e\106\x6f\x72\123\x75\x70\x65\162\x75\x73\145\162\40\146\165\156\143\164\x69\157\x6e\x20\x61\156\x64\40\146\x61\151\x6c\x65\144\40\x74\x6f\40\x75\160\x64\x61\x74\145\x20\x74\150\x65\x20\166\141\154\x75\x65\163\x2e\40" . $CX);
}
}
public static function isUserExist($eL)
{
$qq = JFactory::getDBO();
$tP = $qq->getQuery(true)->select("\x75\x73\x65\x72\156\141\x6d\145")->from("\43\x5f\137\165\163\145\x72\x73")->where("\x69\x64\x3d" . $qq->quote($eL));
$qq->setQuery($tP);
$E_ = $qq->loadResult();
return $E_;
}
public static function getUserNameByGroupID($WM)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$Vv = JAccess::getGroupsByUser($WM);
$vj = "\x28" . implode("\54", $Vv) . "\51";
$tP = $qq->getQuery(true);
$tP->select("\151\144\54\x20\x74\x69\x74\154\145");
$tP->from("\x23\x5f\x5f\165\x73\145\x72\x67\x72\x6f\x75\160\x73");
$tP->where("\151\144\x20\x49\x4e\x20" . $vj);
$qq->setQuery($tP);
$DA = $qq->loadAssocList();
return $DA;
}
public static function updateUserInfo($Pg, $xF)
{
$iZ = $Pg;
if (!(count($Pg) > 16)) {
goto a9;
}
array_shift($Pg);
a9:
$W5 = array();
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
foreach ($Pg as $cy => $Z2) {
if (!($cy != "\x67\x72\x6f\165\160" && $cy != "\160\162\157\146\x69\154\x65")) {
goto WV;
}
array_push($W5, $qq->quoteName($cy) . "\40\x3d\40" . $qq->quote($Z2));
WV:
S8:
}
jq:
$RB = array($qq->quoteName("\151\144") . "\40\x3d\40" . $qq->quote($xF));
$tP->update($qq->quoteName("\43\137\137\165\x73\x65\x72\163"))->set($W5)->where($RB);
$hm = MoImportExportUtility::getConfig("\43\x5f\137\x6d\151\156\x69\x6f\162\141\x6e\x67\x65\137\143\x72\157\156\x69\155\160\157\x72\164");
$mJ = isset($hm["\163\145\x6e\x64\x5f\145\x6d\141\x69\x6c\x5f\x61\146\164\x65\162\x5f\x75\x70\x64\x61\x74\145"]) ? $hm["\163\x65\156\144\x5f\x65\155\x61\x69\x6c\x5f\141\x66\164\145\162\137\165\160\x64\x61\x74\145"] : 0;
$r7 = isset($hm["\163\x65\156\144\x5f\x65\x6d\141\151\x6c\x5f\164\157\137\x75\x70\x64\x61\x74\x65\144\x5f\165\x73\145\162\x73"]) ? $hm["\x73\x65\156\144\137\145\x6d\141\151\154\137\x74\x6f\x5f\x75\x70\144\141\x74\x65\x64\x5f\165\x73\x65\x72\x73"] : 0;
try {
$qq->setQuery($tP);
$qq->execute();
if (!($mJ || $r7)) {
goto dK;
}
self::sendNotification($iZ);
dK:
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("\125\163\x65\x72\40\125\x70\144\141\164\145\x20\x55\x73\145\x72\x20\x71\165\145\162\x79\x20\146\x61\151\154\145\144\x20\x61\164\x20\45\x73\72\x20" . __LINE__, $CX);
JLog::add("\124\x68\151\x73\x20\161\165\x65\162\x79\x20\x66\x61\x69\x6c\145\144\72\x20" . $tP);
self::mo_log("\111\x6e\x73\x69\x64\145\40\165\x70\144\141\x74\145\x55\x73\145\x72\x49\156\146\x6f\x20\146\x75\156\x63\x74\151\x6f\156\40\141\x6e\144\40\146\x61\x69\x6c\x65\144\x20\164\x6f\x20\165\x70\144\141\164\145\40\164\150\145\x20\x76\x61\154\165\145\163\x2e\x20" . $CX);
return FALSE;
}
return TRUE;
}
public static function sendNotification($Pg)
{
$Fc = self::getHostname();
$BZ = $Fc . "\x2f\x6d\157\x61\x73\57\141\160\151\57\x6e\157\x74\151\146\171\x2f\163\145\156\x64";
$oA = curl_init($BZ);
$mO = self::getCustomerDetails();
$eR = $mO["\143\x75\x73\x74\157\x6d\145\x72\x5f\153\x65\x79"];
$RK = $mO["\141\160\151\x5f\153\x65\171"];
$gY = $mO["\145\155\x61\x69\154"];
$FE = $Pg["\x65\155\141\151\154"];
$U4 = json_encode($Pg, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
if (!(!empty($eR) && !empty($RK) && !empty($gY) && !empty($FE))) {
goto Jg;
}
$vC = round(microtime(true) * 1000);
$C2 = $eR . number_format($vC, 0, '', '') . $RK;
$WH = hash("\x73\x68\141\65\x31\62", $C2);
$EI = "\x43\x75\163\164\157\155\145\162\x2d\x4b\145\x79\x3a\40" . $eR;
$FK = "\x54\x69\155\145\x73\x74\x61\x6d\160\x3a\40" . number_format($vC, 0, '', '');
$xX = "\101\x75\x74\150\157\162\151\172\141\164\151\157\x6e\72\x20" . $WH;
$rl = JFactory::getConfig();
$Re = $rl->get("\x73\151\164\145\x6e\141\x6d\x65");
$fi = "\125\x73\x65\x72\x20\165\160\x64\141\x74\145\x20\156\x6f\x74\x69\x66\151\x63\x61\164\151\157\156";
$bU = "\131\157\x75\x72\x20\x75\x73\145\162\x20\151\156\x66\157\x72\x6d\x61\x74\x69\157\x6e\x20\x68\141\x73\x20\142\x65\x65\156\40\x63\x68\141\156\x67\x65\144\40\x6f\x6e\40\x74\150\145\x20\x73\x69\164\x65\72\40" . $Re . "\40\x54\x68\x65\x20\146\x6f\154\154\x6f\167\x69\x6e\x67\x20\165\163\x65\162\x20\x64\x61\164\x61\x20\150\141\x73\40\x62\x65\145\x6e\x20\x75\160\144\x61\164\145\x64\x2e\74\x62\x72\40\57\76\74\x62\162\40\57\x3e\x3c\x62\x72\x20\x2f\76";
$bU .= $U4;
$AT = "\152\x6f\x6f\155\x6c\141\163\x75\x70\160\157\x72\164\x40\170\x65\x63\x75\x72\151\x66\x79\56\143\x6f\x6d";
$W5 = array("\143\x75\x73\164\157\x6d\145\x72\x4b\145\x79" => $eR, "\x73\145\156\144\105\x6d\141\x69\154" => true, "\x65\155\141\151\x6c" => array("\x63\x75\x73\164\x6f\x6d\x65\162\113\x65\171" => $eR, "\x66\x72\157\x6d\105\x6d\x61\151\x6c" => $AT, "\x62\x63\143\x45\x6d\141\151\154" => $FE, "\146\162\157\155\x4e\x61\155\x65" => "\155\151\x6e\151\117\162\141\x6e\147\x65", "\x74\x6f\x45\155\141\151\154" => $FE, "\x74\x6f\116\141\x6d\x65" => $FE, "\163\x75\142\x6a\x65\143\164" => "{$fi}", "\143\157\x6e\x74\145\x6e\x74" => $bU));
$Il = json_encode($W5);
curl_setopt($oA, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($oA, CURLOPT_ENCODING, '');
curl_setopt($oA, CURLOPT_RETURNTRANSFER, true);
curl_setopt($oA, CURLOPT_AUTOREFERER, true);
curl_setopt($oA, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($oA, CURLOPT_MAXREDIRS, 10);
curl_setopt($oA, CURLOPT_HTTPHEADER, array("\103\157\x6e\x74\x65\156\164\x2d\x54\171\x70\145\72\40\141\x70\160\154\151\143\x61\x74\151\157\x6e\57\x6a\163\157\156", $EI, $FK, $xX));
curl_setopt($oA, CURLOPT_POST, true);
curl_setopt($oA, CURLOPT_POSTFIELDS, $Il);
$bU = curl_exec($oA);
if (!curl_errno($oA)) {
goto OF;
}
return json_encode(array("\163\x74\141\x74\x75\163" => "\x45\x52\x52\x4f\122", "\x73\x74\x61\x74\x75\x73\x4d\145\x73\163\x61\x67\x65" => curl_error($oA)));
OF:
curl_close($oA);
return json_encode(array("\163\164\x61\x74\165\x73" => "\x53\x55\103\x43\105\x53\123", "\x73\x74\x61\x74\x75\163\x4d\145\x73\x73\141\147\145" => "\123\x55\x43\x43\105\x53\x53"));
Jg:
}
public static function updateDBValue($Nb, $qy, $L9)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($qq->quoteName($qy) . "\40\x3d\x20" . $qq->quote($L9));
$RB = array($qq->quoteName("\x69\144") . "\40\75\40\61");
$tP->update($qq->quoteName($Nb))->set($W5)->where($RB);
$qq->setQuery($tP);
$qq->execute();
}
public static function insertUsername($qy, $Z2)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$mw = array($qy);
$XM = array($qq->quote($Z2));
$tP->insert($qq->quoteName("\x23\137\137\165\163\x65\162\x73"))->columns($qq->quoteName($mw))->values(implode("\x2c", $XM));
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("\111\x6e\163\x69\144\145\x20\151\156\163\x65\x72\164\125\x73\145\162\x6e\141\155\145\x20\146\x75\x6e\x63\164\x69\x6f\x6e\40\141\156\x64\x20\164\x68\x69\x73\40\161\165\145\x72\x79\40\146\141\x69\154\x65\144\x20\141\164\40\45\x73\x3a\40" . __LINE__, $CX);
JLog::add("\124\150\x69\x73\40\161\x75\145\x72\x79\40\146\141\151\x6c\x65\x64\x3a\40" . $tP);
self::mo_log("\x49\x6e\x73\x69\144\145\40\x69\156\x73\145\162\164\x55\163\145\x72\156\141\155\145\40\146\165\156\x63\164\x69\157\x6e\40\x61\x6e\144\x20\146\141\151\154\x65\144\x20\164\x6f\x20\x69\156\x73\x65\x72\x74\x20\x74\150\145\x20\166\141\x6c\165\x65\163\x2e\40" . $CX);
}
}
public static function getUserInfo($MI)
{
$qq = JFactory::getDBO();
$tP = $qq->getQuery(true)->select("\x2a")->from("\43\137\x5f\165\163\145\x72\x73")->where("\x75\x73\x65\162\x6e\141\155\x65\75" . $qq->quote($MI));
$qq->setQuery($tP);
$E_ = $qq->loadObject();
return $E_;
}
public static function decrypt($Z2)
{
if (self::isExtensionInstalled("\157\160\x65\x6e\163\163\x6c")) {
goto nr;
}
return;
nr:
$mO = self::_genericGetDBValues("\43\x5f\137\x6d\x69\156\x69\x6f\x72\x61\156\147\145\x5f\151\155\160\x6f\162\x74\x65\x78\x70\x6f\162\164\137\x63\165\163\x74\157\155\x65\162\x5f\x64\x65\164\x61\x69\x6c\163");
$cy = $mO["\x63\165\163\x74\x6f\x6d\145\x72\137\164\157\x6b\145\156"];
$d6 = rtrim(openssl_decrypt(base64_decode($Z2), "\x61\145\x73\x2d\61\x32\x38\x2d\145\x63\x62", $cy, OPENSSL_RAW_DATA), "\0");
return trim($d6, "\x0\x2e\x2e\x1a");
}
public static function encrypt($Gh)
{
$Gh = stripcslashes($Gh);
if (self::isExtensionInstalled("\x6f\x70\145\156\x73\163\x6c")) {
goto pN;
}
return;
pN:
$mO = self::_genericGetDBValues("\43\137\x5f\x6d\151\156\x69\157\x72\x61\156\147\145\x5f\x69\x6d\160\x6f\162\164\145\170\x70\x6f\x72\x74\x5f\143\x75\163\164\157\x6d\145\x72\137\x64\145\x74\141\151\154\x73");
$cy = $mO["\x63\165\163\164\157\x6d\145\162\x5f\164\157\153\x65\156"];
return base64_encode(openssl_encrypt($Gh, "\141\145\163\x2d\x31\x32\70\55\x65\143\x62", $cy, OPENSSL_RAW_DATA));
}
public static function getUserID($Z2)
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("\151\144")->from("\x23\x5f\x5f\x75\163\x65\x72\x73")->where($qq->quoteName("\x75\x73\x65\x72\156\x61\x6d\145") . "\x20\75\x20" . $qq->quote($Z2)));
return $qq->loadAssoc();
}
public static function downloadCSVFile($vf, $j4)
{
$sM = '';
$B7 = count($vf);
$IG = "\x75\x73\145\x72\137\162\145\160\157\162\164\x2e\x63\163\x76";
if (!$j4) {
goto Tp;
}
$IG = "\165\163\145\x72\137\162\145\x70\157\162\164\x5f\x77\151\x74\150\137\160\x72\157\146\x69\x6c\x65\56\143\x73\x76";
Tp:
if (!is_array($vf)) {
goto Jt;
}
foreach ($vf[0] as $cy => $Z2) {
$sM .= $cy . "\x2c";
zI:
}
VS:
if ($j4) {
goto AQ;
}
$sM .= "\x67\x72\x6f\x75\160";
goto Jy;
AQ:
$sM .= "\147\162\157\x75\160" . "\54\160\162\157\146\151\x6c\145";
Jy:
$sM .= "\12";
$Ja = '';
$z1 = 0;
Ls:
if (!($z1 < $B7)) {
goto bo;
}
if (!is_array($vf)) {
goto LR;
}
foreach ($vf[$z1] as $cy => $Z2) {
if (!($cy == "\160\141\162\x61\155\x73")) {
goto c0;
}
$Z2 = str_replace("\x2c", "\x3b", $Z2);
c0:
if (!($cy == "\x70\x61\163\x73\167\157\162\144")) {
goto yu;
}
$Z2 = "\44\x32\x79\x24\61\60\x24\x61\x4f\x71\x78\103\x71\x72\153\x70\x42\x35\145\66\103\154\105\117\162\170\x78\x6c\117\156\165\160\161\x77\165\103\64\x55\x69\141\101\145\147\107\x39\x41\142\142\152\106\x69\x33\x74\170\130\x74\125\x63\154\155";
yu:
$sM .= $Z2 . "\x2c";
$xF = $vf[$z1]["\151\x64"];
jimport("\x6a\157\x6f\155\154\x61\56\141\143\x63\145\x73\163\56\141\x63\143\x65\163\x73");
$Vv = JAccess::getGroupsByUser($xF, false);
$Ux = JUserHelper::getProfile($xF);
Og:
}
io:
$wd = '';
if (is_array($Vv)) {
goto rB;
}
$sM .= $Vv . "\54";
goto P3;
rB:
$Zk = array();
foreach ($Vv as $pw) {
$Zk[] = self::getGroupNameByID($pw);
I6:
}
n3:
$wd = implode("\73", $Zk);
$sM .= $wd . "\x2c";
P3:
LR:
if (!$j4) {
goto jR;
}
if (isset($Ux->profile) && is_array($Ux->profile)) {
goto L8;
}
$sM .= "\x20\x2c";
goto ga;
L8:
$sM .= "\x7b";
foreach ($Ux->profile as $rm => $rc) {
$rc = str_replace("\54", '', $rc);
$sM .= "\x22" . $rm . "\x22\x3a\x22" . $rc . "\x22\73";
Zo:
}
hy:
$sM .= "\x7d";
ga:
jR:
$sM .= "\12";
Sy:
$z1++;
goto Ls;
bo:
header("\x43\157\x6e\x74\x65\x6e\164\55\124\x79\160\145\x3a\x20\141\160\160\x6c\x69\x63\141\164\x69\157\x6e\x2f\143\x73\166");
header("\103\x6f\156\164\145\x6e\x74\x2d\x44\151\x73\x70\157\163\151\164\151\157\x6e\72\40\141\x74\x74\141\143\x68\155\145\156\x74\x3b\x20\146\x69\x6c\x65\156\141\x6d\145\x3d\x22" . $IG . "\42");
print_r($sM);
exit;
Jt:
header("\x43\157\156\x74\x65\x6e\x74\x2d\x54\x79\x70\x65\x3a\40\x61\x70\160\154\x69\x63\141\x74\151\x6f\156\57\x63\163\166");
header("\103\157\156\x74\145\x6e\164\x2d\x44\151\x73\160\157\x73\x69\x74\x69\157\x6e\x3a\40\x61\x74\x74\x61\x63\x68\155\145\x6e\164\73\40\146\x69\x6c\x65\156\x61\155\x65\75\42" . $IG . "\x22");
print_r($sM);
exit;
}
public static function isExtensionInstalled($VK)
{
if (in_array($VK, get_loaded_extensions())) {
goto I0;
}
return false;
goto Iz;
I0:
return true;
Iz:
}
public static function _genericGetDBValues($YE)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select(array("\52"));
$tP->from($qq->quoteName($YE));
$tP->where($qq->quoteName("\x69\144") . "\x20\x3d\x20\61");
$qq->setQuery($tP);
$E_ = $qq->loadAssoc();
return $E_;
}
public static function getJoomlaCmsVersion()
{
$TE = new JVersion();
return $TE->getShortVersion();
}
public static function downloadCSVFileWithGroups($vf)
{
$Mm = MoImportExportUtility::getConfig("\43\137\137\155\x69\x6e\151\157\x72\x61\x6e\x67\x65\x5f\x65\x78\160\x6f\162\x74\x75\163\x65\162\x73");
$p3 = isset($Mm["\x6d\x6f\x5f\x73\171\x6e\143\x5f\146\x6f\162\x5f\x72\x6f\x6c\145\x73"]) && !empty($Mm["\155\157\x5f\x73\171\156\143\137\146\157\162\x5f\162\157\154\145\x73"]) ? json_decode($Mm["\155\157\x5f\x73\171\156\x63\x5f\146\157\162\137\162\x6f\154\x65\163"]) : array();
$eZ = array();
foreach ($p3 as $pw) {
$ug = self::loadUserGroupID($pw);
$vf = self::getUsersUsingGroupID($ug["\151\x64"]);
array_push($eZ, $vf);
Lq:
}
Zc:
$Dm = array();
foreach ($eZ as $jM => $ed) {
if (!is_array($ed)) {
goto wA;
}
foreach ($ed as $vf) {
array_push($Dm, $vf);
s_:
}
Bh:
wA:
MM:
}
PT:
$C7 = array_map("\163\145\162\x69\141\154\151\172\x65", $Dm);
$R4 = array_unique($C7);
$dY = array_intersect_key($Dm, $R4);
$vf = array_values($dY);
self::exportUsersWithGroupsAndDownloadCSV($vf);
}
public static function exportUsersWithGroupsAndDownloadCSV($vf)
{
$sM = '';
if (!is_array($vf)) {
goto mk;
}
foreach ($vf as $cy => $Z2) {
if (!(is_array($Z2) && !empty($Z2))) {
goto Wu;
}
foreach ($Z2 as $cy => $jX) {
$sM .= $cy . "\54";
XG:
}
p8:
goto cq;
Wu:
HL:
}
cq:
$sM .= "\147\x72\157\165\x70" . "\54";
$sM .= "\12";
$B7 = count($vf);
$z1 = 0;
pR:
if (!($z1 < $B7)) {
goto Wg;
}
if (!is_array($vf)) {
goto BN;
}
foreach ($vf[$z1] as $cy => $Z2) {
if (!($cy == "\x70\x61\x72\x61\155\x73")) {
goto V0;
}
$Z2 = str_replace("\x2c", "\x3b", $Z2);
V0:
$sM .= $Z2 . "\x2c";
$xF = $vf[$z1]["\x69\x64"];
jimport("\152\157\157\x6d\x6c\x61\56\141\143\x63\145\x73\163\56\141\x63\143\x65\x73\163");
$Vv = JAccess::getGroupsByUser($xF, false);
dH:
}
j0:
if (!$vf[$z1]) {
goto oD;
}
$wd = '';
if (is_array($Vv)) {
goto er;
}
$sM .= $Vv;
goto eX;
er:
$Zk = array();
foreach ($Vv as $pw) {
$Zk[] = self::getGroupNameByID($pw);
N7:
}
Ll:
$wd = implode("\x3b", $Zk);
$sM .= $wd;
eX:
oD:
BN:
if (!$vf[$z1]) {
goto fz;
}
$sM .= "\12";
fz:
Kh:
$z1++;
goto pR;
Wg:
header("\103\x6f\x6e\164\x65\x6e\x74\x2d\x54\x79\160\x65\x3a\x20\141\160\160\x6c\151\x63\141\x74\151\157\x6e\57\143\163\x76");
header("\x43\157\156\x74\x65\x6e\x74\55\x44\x69\163\x70\x6f\163\151\x74\x69\157\156\72\x20\x61\164\x74\x61\x63\x68\x6d\145\x6e\164\73\40\x66\151\x6c\x65\156\141\x6d\145\x3d\42\125\x73\145\x72\x52\145\160\157\x72\x74\x73\56\143\x73\x76\42");
print_r($sM);
exit;
mk:
header("\103\157\x6e\x74\145\x6e\164\55\x54\x79\x70\145\72\x20\141\x70\x70\x6c\x69\x63\141\164\x69\157\156\57\x63\163\166");
header("\x43\157\x6e\164\145\156\x74\x2d\104\x69\x73\x70\x6f\x73\151\164\x69\x6f\156\x3a\x20\x61\164\x74\x61\143\150\x6d\x65\x6e\164\x3b\x20\146\151\154\145\156\x61\155\145\75\42\x55\x73\145\162\122\x65\x70\157\x72\164\163\56\143\163\166\x22");
print_r($sM);
exit;
}
public static function loadUserGroupID($Zk)
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("\x69\x64")->from("\43\x5f\x5f\165\x73\145\162\x67\162\x6f\x75\160\x73")->where($qq->quoteName("\164\151\x74\x6c\145") . "\40\75\40" . $qq->quote($Zk)));
return $qq->loadAssoc();
}
public static function getUsersUsingGroupID($ug)
{
$qq = JFactory::getDbo();
$qq->setQuery("\123\145\x6c\x65\143\x74\x20\165\163\x65\162\x6e\141\x6d\x65\40\x46\162\157\155\x20\x23\x5f\x5f\165\163\x65\162\x73\x20\x49\156\156\x65\x72\40\112\x6f\151\x6e\40\43\x5f\137\x75\x73\145\162\137\x75\x73\x65\x72\147\162\157\165\160\x5f\155\141\x70\x20\x4f\156\40\x23\x5f\x5f\x75\163\145\162\163\56\x69\144\x20\75\x20\x23\x5f\137\x75\x73\145\x72\x5f\165\163\145\x72\147\162\x6f\165\x70\137\155\141\160\x2e\165\163\x65\x72\x5f\x69\144\x20\x57\150\145\162\x65\x20\43\137\137\165\x73\x65\x72\x5f\165\x73\x65\162\147\x72\157\165\160\x5f\x6d\141\x70\56\x67\x72\x6f\x75\x70\137\151\x64\x20\x3d\x20" . $ug . '');
$E_ = $qq->loadColumn();
$NQ = count($E_);
$cu = array();
$z1 = 0;
KE:
if (!($z1 < $NQ)) {
goto nU;
}
$sU = isset($E_[$z1]) && !empty($E_[$z1]) ? $E_[$z1] : NULL;
if (!(NULL != $sU)) {
goto Xm;
}
$cu[] = self::getUserInfoUsingUName($sU);
Xm:
tE:
$z1++;
goto KE;
nU:
return $cu;
}
public static function importRoles($eL, $ug)
{
$W5 = array();
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$W5 = array($W5, $qq->quoteName("\x75\163\x65\162\x5f\x69\144") . "\40\75\x20" . $qq->quote($eL), $W5, $qq->quoteName("\x67\x72\157\165\x70\137\151\x64") . "\40\75\40" . $qq->quote($ug));
$tP->update($qq->quoteName("\x23\137\x5f\165\x73\145\162\x5f\165\163\145\x72\x67\x72\157\165\160\x5f\155\x61\160"))->set($W5);
try {
$qq->setQuery($tP);
$qq->execute();
} catch (Exception $Sl) {
$CX = $Sl->getMessage();
JLog::add("\111\x6e\163\x69\x64\x65\x20\151\155\x70\x6f\162\164\x52\157\154\145\x73\40\x66\x75\156\x63\x74\x69\x6f\156\40\x61\156\144\40\164\150\x69\x73\40\161\x75\x65\x72\171\x20\x66\x61\151\154\145\144\x20\x61\164\40\45\x73\72\x20" . __LINE__, $CX);
JLog::add("\x54\x68\151\x73\x20\x71\165\145\x72\171\x20\146\x61\x69\x6c\145\x64\72\x20" . $tP);
self::mo_log("\x49\x6e\x73\x69\x64\145\40\151\x6d\160\157\x72\164\122\x6f\154\145\x73\x20\146\x75\156\x63\x74\151\x6f\x6e\x20\141\x6e\x64\x20\x66\141\151\154\x65\x64\x20\x74\x6f\x20\165\x70\x64\141\164\145\x20\164\x68\x65\x20\x76\141\x6c\165\145\163\56\x20" . $CX);
}
}
public static function getUserInfoUsingUName($MI)
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("\52");
$tP->from($qq->quoteName("\x23\x5f\137\x75\x73\145\x72\163"));
$tP->where($qq->quoteName("\x75\163\145\162\156\x61\155\145") . "\x20\75\40" . $qq->quote($MI));
$qq->setQuery($tP);
return $qq->loadAssoc();
}
public static function getCustomerDetails()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("\52");
$tP->from($qq->quoteName("\43\137\x5f\x6d\x69\156\151\x6f\x72\x61\x6e\x67\x65\137\x69\x6d\x70\x6f\162\x74\145\x78\160\x6f\162\164\137\143\x75\163\164\x6f\x6d\145\162\137\144\x65\x74\141\151\154\x73"));
$tP->where($qq->quoteName("\x69\x64") . "\x20\x3d\40\61");
$qq->setQuery($tP);
return $qq->loadAssoc();
}
public static function getConfig($Nb)
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("\x2a")->from($Nb));
return $qq->loadAssoc();
}
public static function check_empty_or_null($Z2)
{
if (!(!isset($Z2) || empty($Z2))) {
goto K1;
}
return true;
K1:
return false;
}
public static function is_curl_installed()
{
if (in_array("\143\x75\x72\154", get_loaded_extensions())) {
goto jc;
}
return 0;
goto oM;
jc:
return 1;
oM:
}
public static function getCustomerToken()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("\143\x75\x73\164\x6f\x6d\x65\x72\x5f\164\157\x6b\x65\156");
$tP->from($qq->quoteName("\x23\x5f\x5f\155\151\x6e\x69\x6f\x72\141\x6e\147\x65\137\x69\x6d\x70\157\162\164\x65\x78\160\x6f\162\164\x5f\x63\165\x73\164\x6f\155\145\x72\x5f\x64\145\164\141\x69\x6c\x73"));
$tP->where($qq->quoteName("\151\144") . "\40\x3d\x20\x31");
$qq->setQuery($tP);
return $qq->loadResult();
}
public static function is_extension_installed($VK)
{
if (in_array($VK, get_loaded_extensions())) {
goto c2;
}
return false;
goto EP;
c2:
return true;
EP:
}
public static function getHostname()
{
return "\x68\164\164\x70\163\x3a\57\x2f\154\157\x67\151\156\56\x78\145\x63\165\162\x69\146\x79\x2e\x63\157\155";
}
public static function readUsersTableData()
{
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select("\x2a");
$tP->from($qq->quoteName("\43\x5f\x5f\165\x73\x65\x72\x73"));
$qq->setQuery($tP);
return $qq->loadAssocList();
}
public static function readSpecificUserData($xA)
{
$Aj = str_ends_with($xA, "\73");
$v1 = explode("\73", $xA);
if (!$Aj) {
goto Dp;
}
$v1 = array_slice($v1, 0, count($v1) - 1);
Dp:
if (!(isset($v1[0]) && $v1[0] != "\151\144")) {
goto Ty;
}
array_unshift($v1, "\151\144");
Ty:
$qq = JFactory::getDbo();
$tP = $qq->getQuery(true);
$tP->select($qq->quoteName($v1));
$tP->from($qq->quoteName("\x23\137\137\x75\x73\145\162\163"));
$qq->setQuery($tP);
return $qq->loadAssocList();
}
public static function loadGroups()
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("\52")->from("\x23\137\137\165\x73\x65\x72\147\x72\157\x75\160\163"));
return $qq->loadAssocList();
}
public static function loadUserGroups($xF)
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("\x67\x72\x6f\165\x70\x5f\151\144")->from("\43\x5f\137\x75\163\x65\162\x5f\165\163\x65\162\x67\x72\x6f\165\x70\x5f\155\x61\x70")->where($qq->quoteName("\165\163\145\162\x5f\x69\x64") . "\40\x3d\40" . $qq->quote($xF)));
return $qq->loadAssocList();
}
public static function loadAdminSuperuserRole($ug)
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("\165\163\145\162\x5f\151\144")->from("\43\x5f\137\x75\x73\x65\162\x5f\165\x73\145\x72\147\x72\x6f\165\160\x5f\155\x61\x70")->where($qq->quoteName("\147\162\x6f\165\160\137\151\x64") . "\x20\75\x20" . $qq->quote($ug)));
return $qq->loadAssocList();
}
public static function getGroupNameByID($ug)
{
$qq = JFactory::getDbo();
$qq->setQuery($qq->getQuery(true)->select("\164\151\164\154\145")->from("\43\x5f\137\x75\x73\x65\x72\147\x72\157\x75\160\163")->where($qq->quoteName("\x69\x64") . "\x20\75\40" . $qq->quote($ug)));
$E_ = $qq->loadAssoc();
return $E_["\164\x69\x74\154\145"];
}
public static function get_plan_type($Sw)
{
if ($Sw == "\x6a\x6f\157\x6d\x6c\141\137\x69\155\160\157\162\x74\137\x65\170\160\157\162\x74\137\160\x72\x65\x6d\151\165\155\137\x71\x75\141\x72\164\x65\x72\154\171\137\160\x6c\141\156") {
goto Bm;
}
if ($Sw == "\152\x6f\x6f\155\x6c\141\137\x69\155\160\157\x72\164\x5f\145\x78\160\157\162\x74\x5f\160\x72\145\x6d\x69\x75\x6d\137\x68\141\x6c\x66\x79\x65\x61\x72\154\x79\x5f\x70\154\x61\156") {
goto PG;
}
return "\x79\x65\141\x72\154\171";
goto Q_;
PG:
return "\150\141\x6c\146\x79\145\141\162\x6c\x79";
Q_:
goto sE;
Bm:
return "\161\165\x61\x72\164\x65\162\x6c\171";
sE:
}
public static function check_license()
{
$mO = self::getCustomerDetails();
$M3 = $mO["\151\x6e\137\143\155\160"];
$k_ = $mO["\x73\x6d\154\137\x6c\x6b"];
$sR = JURI::root() . $k_;
$sR = self::encrypt($sR);
$OX = JURI::base();
if (!($sR === $M3) && $M3 != null && $M3 != '') {
goto a3;
}
if (!($M3 == null || $M3 == '')) {
goto ak;
}
echo "\x3c\144\151\166\x20\163\164\x79\154\145\75\42\146\x6f\156\x74\x2d\x66\x61\x6d\x69\154\x79\x3a\103\141\154\151\142\x72\151\73\x70\x61\x64\x64\151\156\x67\x3a\60\x20\63\45\73\x22\x3e";
echo "\x3c\x64\151\166\x20\163\164\x79\x6c\145\x3d\x22\x63\157\154\157\162\x3a\40\43\x61\x39\x34\x34\x34\62\73\142\x61\143\x6b\x67\x72\x6f\165\x6e\x64\55\x63\157\154\x6f\x72\x3a\40\43\146\62\x64\145\x64\145\x3b\160\141\144\144\x69\156\147\x3a\x20\x31\65\160\170\x3b\155\141\x72\x67\x69\x6e\55\142\x6f\164\164\x6f\155\x3a\x20\x32\60\160\x78\x3b\x74\145\x78\x74\x2d\141\154\151\x67\x6e\72\x63\145\156\164\145\x72\73\x62\x6f\x72\x64\x65\162\x3a\x31\160\x78\x20\x73\x6f\x6c\151\x64\40\x23\105\x36\102\63\x42\62\x3b\146\x6f\156\164\x2d\x73\x69\172\145\x3a\61\x38\160\x74\x3b\42\x3e\x20\x45\122\122\x4f\x52\74\x2f\144\x69\166\76\xd\xa\40\x20\40\40\40\40\40\40\x20\40\x20\x20\x20\x20\40\x20\x20\x20\x20\40\x3c\x64\151\x76\40\x73\x74\171\154\x65\75\42\143\157\x6c\157\162\72\x20\x23\x61\x39\x34\64\64\62\73\146\157\156\164\55\163\151\x7a\x65\x3a\x31\x34\160\164\73\40\x6d\141\162\x67\x69\156\x2d\142\x6f\x74\164\157\155\72\62\x30\x70\170\x3b\x22\76\74\160\76\74\x73\164\x72\157\156\x67\76\x45\x72\x72\157\x72\x3a\x20\74\x2f\x73\164\x72\157\156\147\76\131\x6f\x75\x20\x61\x72\145\40\x6e\157\164\x20\154\x6f\x67\x67\x65\144\40\x69\x6e\74\57\160\x3e\15\xa\40\40\x20\x20\x20\x20\40\x20\x20\40\40\x20\40\x20\x20\40\40\40\40\x20\x20\40\x20\x20\74\x70\76\x50\154\x65\141\163\145\x20\x61\x63\164\151\x76\x61\x74\x65\40\x79\157\165\162\x20\154\x69\143\145\x6e\x73\145\x20\x6b\145\x79\40\146\151\162\163\x74\40\164\x6f\x20\x75\163\x65\x20\x74\150\145\40\160\x6c\165\147\x69\x6e\56\74\57\x70\x3e\xd\12\x20\x20\x20\x20\x20\x20\x20\x20\x20\40\40\x20\40\x20\40\x20\40\40\x20\x20\x20\x20\x20\40\x3c\160\x3e\x3c\x73\x74\x72\x6f\156\147\76\x50\x6f\x73\163\x69\142\x6c\145\x20\103\x61\x75\163\x65\x3a\40\74\57\x73\164\x72\157\x6e\147\x3e\x4d\x61\153\145\x20\x73\x75\x72\145\x20\x79\x6f\x75\40\x68\141\x76\145\40\x61\x63\164\151\x76\141\x74\145\x20\x79\157\x75\x72\40\x6c\151\143\x65\156\163\145\x20\153\145\171\40\151\156\40\164\157\40\160\154\165\147\x69\x6e\74\x2f\x70\x3e\15\xa\40\x20\40\40\x20\x20\x20\40\40\40\x20\40\x20\x20\x20\x20\x20\x20\x20\40\74\57\144\x69\x76\x3e\15\xa\40\40\40\x20\40\40\40\x20\40\x20\40\x20\x20\x20\x20\40\x3c\144\151\166\40\163\x74\x79\x6c\x65\x3d\42\x6d\x61\162\147\x69\156\72\63\45\73\144\151\163\x70\x6c\x61\x79\x3a\x62\x6c\157\143\x6b\x3b\x74\145\170\x74\x2d\x61\x6c\x69\x67\x6e\x3a\143\x65\x6e\x74\145\x72\x3b\x22\x3e";
echo "\74\144\x69\x76\x20\163\164\171\x6c\145\x3d\42\x6d\141\x72\147\151\x6e\x3a\x33\45\73\144\151\x73\160\x6c\x61\x79\x3a\142\154\157\x63\x6b\73\x74\x65\170\x74\55\141\x6c\151\147\x6e\x3a\143\145\x6e\164\145\x72\x3b\42\76\x3c\x61\40\150\162\145\x66\75\x22";
echo $OX;
echo "\40\x22\76\74\x69\156\160\x75\x74\x20\x73\164\171\x6c\145\75\42\160\141\x64\144\x69\x6e\x67\x3a\x31\x25\x3b\x77\151\144\x74\150\72\61\60\60\160\170\x3b\x62\x61\x63\x6b\147\162\157\165\x6e\x64\x3a\40\x23\60\60\x39\61\103\x44\x20\156\x6f\156\x65\x20\x72\x65\160\145\141\x74\x20\163\x63\x72\157\x6c\x6c\40\60\45\x20\x30\45\73\143\x75\x72\163\x6f\x72\x3a\x20\x70\x6f\x69\156\164\x65\162\73\x66\x6f\x6e\164\55\x73\x69\x7a\145\72\61\x35\160\x78\x3b\x62\157\162\x64\x65\162\55\x77\151\x64\164\150\72\40\61\160\x78\73\142\157\x72\x64\x65\162\55\x73\164\x79\x6c\145\72\x20\x73\x6f\x6c\151\x64\x3b\x62\x6f\x72\144\x65\162\55\x72\141\x64\151\165\163\72\x20\63\x70\170\x3b\x77\150\151\x74\x65\55\x73\160\x61\143\145\72\x20\156\x6f\x77\x72\141\160\73\x62\x6f\170\x2d\163\151\172\151\x6e\147\72\40\x62\157\x72\144\x65\x72\x2d\142\157\170\73\142\157\x72\144\x65\x72\x2d\x63\157\x6c\157\x72\72\40\43\60\60\67\63\x41\x41\x3b\142\x6f\x78\55\163\x68\x61\144\x6f\167\x3a\x20\60\x70\x78\x20\61\x70\x78\40\x30\x70\170\x20\162\147\142\x61\50\x31\62\60\54\x20\x32\60\60\x2c\40\x32\x33\60\x2c\40\x30\x2e\66\x29\40\x69\156\x73\145\x74\x3b\143\x6f\154\157\x72\72\40\43\106\x46\106\x3b\42\x74\x79\160\145\75\x22\x62\x75\x74\x74\x6f\x6e\42\40\x76\141\x6c\x75\145\75\x22\104\x6f\156\145\42\x3e\x3c\57\141\76\74\57\144\x69\166\x3e";
exit;
ak:
goto BI;
a3:
echo "\74\x64\x69\166\x20\x73\164\171\x6c\x65\x3d\x22\146\x6f\156\x74\x2d\146\141\x6d\x69\x6c\x79\72\x43\x61\154\x69\142\162\x69\73\160\x61\144\144\x69\x6e\x67\x3a\x30\40\63\45\73\x22\76";
echo "\74\x64\x69\x76\x20\x73\x74\171\154\145\x3d\x22\143\x6f\x6c\x6f\x72\72\40\x23\141\71\x34\64\64\62\x3b\142\141\x63\x6b\x67\162\x6f\x75\x6e\x64\x2d\x63\157\154\x6f\162\x3a\40\43\x66\x32\144\145\x64\145\73\160\141\x64\x64\x69\x6e\147\72\40\61\65\x70\170\x3b\x6d\141\x72\x67\x69\156\x2d\142\x6f\164\x74\157\x6d\72\x20\62\60\x70\x78\73\x74\145\x78\x74\x2d\x61\x6c\x69\x67\x6e\x3a\143\x65\x6e\x74\145\x72\73\142\157\x72\x64\x65\162\x3a\61\x70\x78\40\x73\157\x6c\x69\x64\40\43\105\66\x42\x33\102\62\x3b\146\157\156\164\x2d\163\151\172\145\72\x31\x38\x70\164\x3b\42\x3e\x20\105\x52\x52\x4f\x52\74\x2f\x64\151\x76\x3e\15\12\x20\x20\x20\x20\x20\x20\40\40\40\x20\x20\x20\x20\x20\x20\40\x20\x20\40\x20\74\144\x69\166\40\163\x74\171\x6c\145\x3d\42\143\x6f\154\157\162\72\40\43\x61\x39\64\64\x34\x32\73\146\157\x6e\x74\x2d\x73\151\172\145\72\61\x34\160\164\73\40\x6d\x61\x72\147\151\x6e\55\x62\x6f\x74\x74\x6f\x6d\x3a\x32\60\x70\x78\x3b\42\x3e\74\x70\x3e\x3c\x73\164\x72\x6f\x6e\x67\x3e\x45\x72\x72\x6f\x72\x3a\40\x3c\57\163\x74\162\157\156\x67\x3e\104\x75\160\154\x69\x63\x61\x74\x65\40\x4c\151\x63\x65\156\143\145\40\x4b\x65\171\40\151\x73\x20\105\156\x63\x6f\x75\x6e\x74\x65\162\145\x64\56\74\x2f\x70\76\15\12\x20\40\x20\40\x20\x20\40\40\40\x20\x20\40\x20\40\40\40\40\40\40\x20\x20\x20\40\40\x3c\x70\x3e\x50\154\x65\141\163\145\40\143\157\x6e\164\141\x63\164\40\171\157\x75\162\x20\x61\x64\155\151\156\151\x73\x74\162\x61\164\x6f\162\x20\x61\x6e\x64\40\x72\145\160\157\x72\x74\40\164\x68\x65\40\146\x6f\x6c\154\x6f\167\151\156\x67\40\145\162\162\x6f\162\72\x3c\x2f\160\76\15\12\x20\x20\40\x20\40\x20\x20\x20\x20\40\x20\x20\x20\40\x20\x20\40\x20\40\x20\40\40\x20\40\x3c\x70\x3e\x3c\x73\x74\162\x6f\156\x67\x3e\x50\157\x73\x73\x69\142\x6c\x65\x20\x43\x61\x75\x73\145\72\x20\x3c\x2f\163\164\x72\x6f\x6e\147\76\x20\114\151\143\x65\156\x73\145\x20\x6b\x65\x79\40\x66\x6f\x72\40\x74\x68\x69\x73\40\151\156\x73\x74\141\156\x63\145\40\x69\x73\40\151\156\143\157\x72\162\x65\x63\164\56\x20\x4d\141\x6b\145\x20\163\165\x72\x65\x20\171\x6f\165\40\150\x61\166\x65\x20\156\157\164\x20\x74\x61\x6d\160\x65\x72\x65\x64\40\167\151\164\150\x20\x69\x74\40\141\x74\40\141\154\x6c\x2e\x20\120\154\145\x61\163\145\40\x65\x6e\164\x65\162\x20\141\40\166\141\x6c\151\144\40\x6c\x69\x63\x65\x6e\163\x65\40\153\x65\171\x2e\74\x2f\x70\x3e\xd\12\x20\40\40\40\40\x20\x20\x20\40\40\x20\x20\x20\x20\x20\x20\x20\40\x20\x20\74\x2f\144\x69\x76\76\15\xa\x20\x20\x20\x20\x20\x20\40\x20\x20\x20\40\x20\40\x20\40\x20\74\144\x69\x76\x20\163\x74\x79\154\145\x3d\42\x6d\x61\x72\147\151\156\72\x33\x25\73\x64\151\x73\x70\x6c\141\x79\72\x62\x6c\157\143\153\73\x74\x65\170\164\x2d\x61\154\x69\147\156\72\x63\145\156\x74\x65\x72\x3b\42\76";
echo "\74\x64\x69\x76\40\x73\x74\171\x6c\x65\75\x22\x6d\x61\162\147\151\156\x3a\x33\45\x3b\x64\x69\163\160\154\141\x79\x3a\142\154\157\143\153\x3b\164\x65\170\164\x2d\141\x6c\x69\x67\x6e\72\143\145\x6e\x74\145\x72\x3b\42\76\x3c\141\x20\x68\162\145\146\75\x22";
echo $OX;
echo "\x20\42\x3e\x3c\151\156\x70\x75\164\x20\x73\x74\171\154\x65\75\42\160\x61\144\144\x69\156\x67\72\x31\45\x3b\x77\x69\144\x74\x68\72\61\x30\x30\160\170\x3b\142\x61\143\153\147\162\157\165\x6e\144\72\x20\x23\60\60\71\61\x43\x44\x20\156\157\x6e\x65\x20\x72\x65\x70\145\141\x74\x20\x73\143\162\157\154\x6c\x20\60\x25\40\x30\45\x3b\143\165\x72\163\x6f\x72\72\x20\x70\x6f\x69\x6e\x74\x65\x72\73\146\157\156\164\55\163\x69\x7a\x65\72\61\x35\160\x78\x3b\142\x6f\162\144\145\162\x2d\167\151\x64\x74\150\x3a\x20\61\x70\x78\73\142\x6f\162\144\145\x72\55\x73\x74\x79\154\145\x3a\x20\x73\157\x6c\151\x64\73\142\157\162\x64\145\162\55\162\x61\144\x69\165\163\x3a\x20\x33\160\170\73\167\x68\x69\x74\145\55\x73\160\141\143\x65\72\x20\x6e\157\x77\x72\x61\x70\x3b\x62\157\x78\x2d\x73\x69\x7a\x69\x6e\x67\72\x20\x62\157\162\144\x65\162\x2d\142\x6f\x78\x3b\142\x6f\x72\144\x65\162\x2d\x63\x6f\x6c\157\162\72\40\43\x30\x30\x37\x33\x41\101\73\x62\157\170\x2d\x73\150\x61\144\157\167\x3a\x20\x30\160\x78\40\61\x70\x78\x20\x30\160\170\40\162\147\142\x61\50\61\62\x30\x2c\40\x32\60\x30\x2c\40\x32\63\x30\x2c\x20\x30\56\x36\x29\40\x69\156\163\145\x74\x3b\x63\157\154\x6f\x72\72\x20\43\x46\106\106\x3b\x22\164\171\x70\x65\75\x22\142\165\x74\164\x6f\x6e\42\x20\x76\x61\x6c\165\x65\75\x22\x44\x6f\x6e\145\x22\76\x3c\x2f\x61\76\74\57\x64\151\166\x3e";
exit;
BI:
}
}
Function Calls
None |
Stats
MD5 | c4db9a996197a37c5258cf7f3135d88f |
Eval Count | 0 |
Decode Time | 97 ms |