Skip to content

Commit

Permalink
GH-230 Move referrer's tasks data getter to an util
Browse files Browse the repository at this point in the history
  • Loading branch information
mdziekon committed Jul 3, 2022
1 parent cf5f3b5 commit e3ea5a9
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 25 deletions.
1 change: 1 addition & 0 deletions modules/overview/_includes.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
include($includePath . './screens/FirstLogin/FirstLogin.screen.php');
include($includePath . './screens/FirstLogin/utils/effects/handleProxyDetection.effect.php');
include($includePath . './screens/FirstLogin/utils/effects/handleReferralMultiAccountDetection.effect.php');
include($includePath . './screens/FirstLogin/utils/helpers/getReferrerTasksData.helper.php');

});

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?php

namespace UniEngine\Engine\Modules\Overview\Screens\FirstLogin\Utils\Helpers;

/**
* @param array $params
* @param number $params['referredById']
*/
function getReferrerTasksData($props) {
global $GlobalParsedTasks;

$referredById = $props['referredById'];

if (!empty($GlobalParsedTasks[$referredById]['tasks_done_parsed'])) {
$referringUserWithTasksData = $GlobalParsedTasks[$referredById];
$referringUserWithTasksData['id'] = $referredById;

return $referringUserWithTasksData;
}

$fetchUserTasksDoneQuery = (
"SELECT " .
"`tasks_done` " .
"FROM {{table}} " .
"WHERE " .
"`id` = {$referredById} " .
"LIMIT 1 " .
";"
);
$fetchUserTasksDoneResult = doquery($fetchUserTasksDoneQuery, 'users', true);

if (!$fetchUserTasksDoneQuery) {
return null;
}

// Prepare data & populate global cache
Tasks_CheckUservar($fetchUserTasksDoneResult);
$GlobalParsedTasks[$referredById] = $fetchUserTasksDoneResult;

$referringUserWithTasksData = $GlobalParsedTasks[$referredById];
$referringUserWithTasksData['id'] = $referredById;

return $referringUserWithTasksData;
}

?>
5 changes: 5 additions & 0 deletions modules/overview/screens/FirstLogin/utils/helpers/index.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?php

header("Location: ../index.php");

?>
35 changes: 10 additions & 25 deletions overview.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,36 +62,21 @@

if($_User['referred'] > 0)
{
// Update Referrer Tasks
if(empty($GlobalParsedTasks[$_User['referred']]['tasks_done_parsed']))
{
$GetUserTasksDone = doquery("SELECT `id`, `tasks_done` FROM {{table}} WHERE `id` = {$_User['referred']} LIMIT 1;", 'users', true);
if($GetUserTasksDone['id'] == $_User['referred'])
{
unset($GetUserTasksDone['id']);
Tasks_CheckUservar($GetUserTasksDone);
$GlobalParsedTasks[$_User['referred']] = $GetUserTasksDone;
$ThisTaskUser = $GlobalParsedTasks[$_User['referred']];
$ThisTaskUser['id'] = $_User['referred'];
}
}
else
{
$ThisTaskUser = $GlobalParsedTasks[$_User['referred']];
$ThisTaskUser['id'] = $_User['referred'];
}
$referringUserWithTasksData = Overview\Screens\FirstLogin\Utils\Helpers\getReferrerTasksData([
'referredById' => $_User['referred'],
]);

if(!empty($ThisTaskUser))
if(!empty($referringUserWithTasksData))
{
Tasks_TriggerTask($ThisTaskUser, 'NEWUSER_REGISTER', array
Tasks_TriggerTask($referringUserWithTasksData, 'NEWUSER_REGISTER', array
(
'mainCheck' => function($JobArray, $ThisCat, $TaskID, $JobID) use (&$ThisTaskUser)
'mainCheck' => function($JobArray, $ThisCat, $TaskID, $JobID) use (&$referringUserWithTasksData)
{
$Return = Tasks_TriggerTask_MainCheck_Progressive($JobArray, $ThisCat, $TaskID, $JobID, $ThisTaskUser, 1);
$ThisTaskUser['TaskData'][] = array
$Return = Tasks_TriggerTask_MainCheck_Progressive($JobArray, $ThisCat, $TaskID, $JobID, $referringUserWithTasksData, 1);
$referringUserWithTasksData['TaskData'][] = array
(
'TaskID' => $TaskID,
'TaskStatus' => $ThisTaskUser['tasks_done_parsed']['status'][$ThisCat][$TaskID][$JobID],
'TaskStatus' => $referringUserWithTasksData['tasks_done_parsed']['status'][$ThisCat][$TaskID][$JobID],
'TaskLimit' => $JobArray[$JobArray['statusField']]
);
return $Return;
Expand All @@ -103,7 +88,7 @@
Overview\Screens\FirstLogin\Utils\Effects\handleReferralMultiAccountDetection([
'user' => &$_User,
'referredById' => $_User['referred'],
'referringUserWithTasksData' => &$ThisTaskUser,
'referringUserWithTasksData' => &$referringUserWithTasksData,
'currentTimestamp' => $Now,
]);
}
Expand Down

0 comments on commit e3ea5a9

Please sign in to comment.