Weekly Developer Data

Weekly Report

"; $hr = "
"; //gets the data for all evaluation request pending, approved and rejected function getEvalRequestsData($startTimeString, $endTimeString) { try { $evalRequestQueryString = " SELECT field_data_field_status.field_status_value AS field_data_field_status_field_status_value, Count(node.nid) AS nid_1 FROM node LEFT JOIN field_data_field_company_name ON node.nid = field_data_field_company_name.entity_id AND ( field_data_field_company_name.entity_type = 'node' AND field_data_field_company_name.deleted = '0' ) LEFT JOIN field_data_field_status ON node.nid = field_data_field_status.entity_id AND ( field_data_field_status.entity_type = 'node' AND field_data_field_status.deleted = '0' ) WHERE (( ( node.status = '1' ) AND ( node.type IN ( 'evaluation_request' ) ) AND ( node.created BETWEEN " . strtotime($startTimeString) . " AND " . strtotime($endTimeString) . ") AND ( upper(field_data_field_company_name.field_company_name_value) NOT LIKE '%YODLEE%') )) GROUP BY field_data_field_status.field_status_value "; $result = db_query($evalRequestQueryString); //echo "Total Requests: "; $evalRequestsData = ($result->fetchAllKeyed()); } catch (Exception $e) { print_r($e->getMessage()); } return $evalRequestsData; } //User count registered in each tier function getUserCount($tierStatusString, $startTimeString, $endTimeString){ $query = new EntityFieldQuery; if($tierStatusString == 'SELF-SERVE'){ $usersCount = $query->entityCondition('entity_type', 'user') ->propertyCondition('status', 1) ->propertyCondition('created', array(strtotime($startTimeString), strtotime($endTimeString)), 'BETWEEN') ->fieldCondition('field_tier_level', 'value', $tierStatusString, '=') ->fieldCondition('field_company', 'value', 'yodlee', '!=') //->fieldCondition('field_tier_level_effective_date','value', array(strtotime($startTimeString), strtotime($endTimeString)), 'BETWEEN') ->count() ->execute(); }else if($tierStatusString == 'ENTERPRISE'){ $usersCount = $query->entityCondition('entity_type', 'user') ->propertyCondition('status', 1) ->propertyCondition('created', array(strtotime($startTimeString), strtotime($endTimeString)), 'BETWEEN') ->fieldCondition('field_tier_level', 'value', $tierStatusString, '=') ->fieldCondition('field_company', 'value', 'yodlee', '!=') //->fieldCondition('field_tier_level_effective_date','value', array(strtotime($startTimeString), strtotime($endTimeString)), 'BETWEEN') ->count() ->execute(); }else { $usersCount = $query->entityCondition('entity_type', 'user') ->propertyCondition('status', 1) ->propertyCondition('created', array(strtotime($startTimeString), strtotime($endTimeString)), 'BETWEEN') ->fieldCondition('field_tier_level', 'value', explode(',',$tierStatusString ), 'in') ->count() ->execute(); } return $usersCount; } //Get the prodsubrandID of user function getUserCountForCobrandAndTier($tierStatusString, $cobrandId) { $query = new EntityFieldQuery; $usersCount = $query->entityCondition('entity_type', 'user') ->propertyCondition('status', 1) ->fieldCondition('field_tier_level', 'value', explode(',', $tierStatusString), 'in') ->fieldCondition('field_prod_subbrand_id', 'value', $cobrandId, '=') ->count() ->execute(); return $usersCount; } // Get the usage data uploading open report function getUsageData($startTimeString, $endTimeString) { $query = new EntityFieldQuery(); $query->entityCondition('entity_type', 'node') ->entityCondition('bundle', 'usage_data_record') ->propertyCondition('status', 1) ->propertyCondition('created', array(strtotime($startTimeString), strtotime($endTimeString)), 'BETWEEN') ->fieldOrderBy('field_agg_active_user_count', 'value', 'DESC') ->fieldOrderBy('field_iav_request_count', 'value', 'DESC') ->range(0, 15); $result = $query->execute(); if (isset($result['node'])) { $news_items_nids = array_keys($result['node']); $news_items = entity_load('node', $news_items_nids); } return ($news_items); } //percentage check on +/- change in number of users registered function getPercentageChange($newNumber, $oldNumber) { if ($oldNumber == 0) return 100; else { $decreaseValue = $newNumber - $oldNumber; return ($decreaseValue / $oldNumber) * 100; } } $dateCalender = $_POST['date']; $checking = empty($_POST['date']); if ($checking == "1") { $conditonTrue = "conditonTrue"; // To get Actual first day and last of last week and last month $firstDayOfLastWeek = date('m/d/Y', strtotime('monday last week')); $lastDayOfLastWeek = date('m/d/Y', strtotime('sunday last week')); $firstDayOfCurrentWeek = date('m/d/Y', strtotime("monday this week")); $firstDayOfCurrentMonth = date('m/d/Y', strtotime(date('Y-m-1'))); $firstDayOfLastMonth = date("m/d/Y", mktime(0, 0, 0, date("m") - 1, 1)); $lastDayOfLastMonth = date("m/d/Y", mktime(0, 0, 0, date("m"), 0)); $lastDayOfCurrentweek = ''; $lastDayOfCurrentMonth = ''; //current Week of the year $ddate = date('m/d/Y'); $date = new DateTime($ddate); $currentweek = $date->format("W"); $previous_week = strtotime("-1 week +1 day"); $end_week = date("W", $previous_week); $FirstDay = date("Y-m-d", strtotime('sunday last week')); //For UI $currentMonth = date('F'); $lastMonth = Date('F', strtotime(date("F") . " last month")); $currentWeekDisplay = "Week " . $currentweek; $lastWeekDisplay = "Week " . $end_week; } else { $conditionfalse = "Entered false"; $formatedDate = date('m/d/Y', strtotime($dateCalender)); $selectedDate = $formatedDate; $selectedWeek = date("W", strtotime($selectedDate)); $year = date("Y", strtotime($selectedDate)); $currentweek = date("W"); $firstDayOfCurrentWeek = ''; $lastDayOfCurrentweek = ''; for ($i = $selectedWeek; $i <= $selectedWeek; $i++) { $result = getWeek($i, $year); $firstDayOfCurrentWeek = $result['start']; $lastDayOfCurrentweek = $result['end']; } $firstDayOfLastWeek = date('m/d/Y', strtotime('-7 days', strtotime($firstDayOfCurrentWeek))); $lastDayOfLastWeek = date('m/d/Y', strtotime('-1 day', strtotime($firstDayOfCurrentWeek))); $lastweek = date("W", strtotime($lastDayOfLastWeek)); $currentweek = date("W", strtotime($selectedDate)); $lastMonth = date('F', strtotime($firstDayOfCurrentWeek)); $currentMonth = date('F', strtotime($selectedDate)); $firstDayOfLastMonth = date('m/d/Y', mktime(0, 0, 0, date('m', strtotime($selectedDate)) - 1, 1)); $lastDayOfLastMonth = date('m/d/Y', mktime(0, 0, 0, date('m', strtotime($selectedDate)), 0)); $firstDayOfCurrentMonth = date('m/d/Y', mktime(0, 0, 0, date('m', strtotime($selectedDate)), 1)); $lastDayOfCurrentMonth = date('m/d/Y', mktime(0, 0, 0, date('m', strtotime($selectedDate)) + 1, 0)); $lastMonth = date('F', strtotime($firstDayOfLastMonth)); $currentMonth = date('F', strtotime($firstDayOfCurrentMonth)); $currentWeekDisplay = "Week " . $currentweek; $lastWeekDisplay = "Week " . $lastweek; } function getWeek($week, $year) { $dto = new DateTime(); $result['start'] = $dto->setISODate($year, $week, 0)->format('m/d/Y'); $result['end'] = $dto->setISODate($year, $week, 6)->format('m/d/Y'); return $result; } //Sandbox User Count $statusString = "SANDBOX"; if (isset($_POST['date'])) { $totalSandboxUsers = getUserCount($statusString, "1 April 2019", $_POST['date']); $totalSandboxUsersNewPortal = getUserCount($statusString, "24 October 2019", $_POST['date']); } else { $totalSandboxUsers = getUserCount($statusString, "1 April 2019", "now"); $totalSandboxUsersNewPortal = getUserCount($statusString, "24 October 2019", "now"); } if ($lastDayOfCurrentweek == '') { $currentWeekSandboxUsers = getUserCount($statusString, $firstDayOfCurrentWeek, "now"); } else { $currentWeekSandboxUsers = getUserCount($statusString, $firstDayOfCurrentWeek, $lastDayOfCurrentweek); } $lastWeekSandboxUsers = getUserCount($statusString, $firstDayOfLastWeek, $lastDayOfLastWeek); if ($lastDayOfCurrentMonth == '') { $currentMonthSandboxUsers = getUserCount($statusString, $firstDayOfCurrentMonth, "now"); } else { $currentMonthSandboxUsers = getUserCount($statusString, $firstDayOfCurrentMonth, $lastDayOfCurrentMonth); } $lastMonthSandboxUsers = getUserCount($statusString, $firstDayOfLastMonth, $lastDayOfLastMonth); //Grow User Count $statusString = "SELF-SERVE"; if (isset($_POST['date'])) { $totalGrow = getUserCount($statusString, "1 April 2019", $_POST['date']); $totalGrowNewPortal = getUserCount($statusString, "24 October 2019", $_POST['date']); } else { $totalGrow = getUserCount($statusString, "1 April 2019", "now"); $totalGrowNewPortal = getUserCount($statusString, "24 October 2019", "now"); } if ($lastDayOfCurrentweek == '') { $thisWeekGrowUsers = getUserCount($statusString, $firstDayOfCurrentWeek, "now"); } else { $thisWeekGrowUsers = getUserCount($statusString, $firstDayOfCurrentWeek, $lastDayOfCurrentweek); } $lastWeekGrowUsers = getUserCount($statusString, $firstDayOfLastWeek, $lastDayOfLastWeek); if ($lastDayOfCurrentMonth == '') { $currentMonthGrowUsers = getUserCount($statusString, $firstDayOfCurrentMonth, "now"); } else { $currentMonthGrowUsers = getUserCount($statusString, $firstDayOfCurrentMonth, $lastDayOfCurrentMonth); } $lastMonthGrowUsers = getUserCount($statusString, $firstDayOfLastMonth, $lastDayOfLastMonth); //Enterprise User Count $statusString = "ENTERPRISE"; if (isset($_POST['date'])) { $totalEnterpriseUsers = getUserCount($statusString, "1 April 2019", $_POST['date']); $totalEnterpriseUsersNewPortal = getUserCount($statusString, "24 October 2019", $_POST['date']); } else { $totalEnterpriseUsers = getUserCount($statusString, "1 April 2019", "now"); $totalEnterpriseUsersNewPortal = getUserCount($statusString, "24 October 2019", "now"); } if ($lastDayOfCurrentweek == '') { $thisWeekEnterpriseUsers = getUserCount($statusString, $firstDayOfCurrentWeek, "now"); } else { $thisWeekEnterpriseUsers = getUserCount($statusString, $firstDayOfCurrentWeek, $lastDayOfCurrentweek); } $lastWeekEnterpriseUsers = getUserCount($statusString, $firstDayOfLastWeek, $lastDayOfLastWeek); if ($lastDayOfCurrentMonth = '') { $currentMonthEnterpriseUsers = getUserCount($statusString, $firstDayOfCurrentMonth, "now"); } else { $currentMonthEnterpriseUsers = getUserCount($statusString, $firstDayOfCurrentMonth, $lastDayOfCurrentMonth); } $lastMonthEnterpriseUsers = getUserCount($statusString, $firstDayOfLastMonth, $lastDayOfLastMonth); //Launch request and User Count if (isset($_POST['date'])) { $allEvaluationRequestsData = getEvalRequestsData("1 April 2019", $_POST['date']); $allEvaluationRequestsDataNewPortal = getEvalRequestsData("24 October 2019", $_POST['date']); } else { $allEvaluationRequestsData = getEvalRequestsData("1 April 2019", "now"); $allEvaluationRequestsDataNewPortal = getEvalRequestsData("24 October 2019", "now"); } if ($lastDayOfCurrentweek == '') { $currentWeekEvalData = getEvalRequestsData($firstDayOfCurrentWeek, "now"); } else { $currentWeekEvalData = getEvalRequestsData($firstDayOfCurrentWeek, $lastDayOfCurrentweek); } $lastWeekEvalData = getEvalRequestsData($firstDayOfLastWeek, $lastDayOfLastWeek); if ($lastDayOfCurrentMonth == '') { $currentMonthEvalData = getEvalRequestsData($firstDayOfCurrentMonth, "now"); } else { $currentMonthEvalData = getEvalRequestsData($firstDayOfCurrentMonth, $lastDayOfCurrentMonth); } $lastMonthEvalData = getEvalRequestsData($firstDayOfLastMonth, $lastDayOfLastMonth); //Usage Data from open reports if (isset($_POST['date'])) { $usageData = getUsageData($_POST['date'] . ' - 7 days', ($_POST['date'])); } else { $usageData = getUsageData('- 7 day', 'now'); } $launchTierUsageData = array(); $growTierUsageData = array(); $enterpriseTierUsageData = array(); /* After getting user cobrandId this method will find cobrandIDs and compare in usage report recently uploaded and check, IAV and AGG count if greater than zero for Launch, Grow and Enterprise */ foreach ($usageData as $usageRecord) { $cobrandId = $usageRecord->field_cobrand_id['und'][0]['value']; $evalUserCount = getUserCountForCobrandAndTier("EVALUATION", $cobrandId); if ($evalUserCount && $evalUserCount > 0) { $launchTierUsageData[] = $usageRecord; } $growUserCount = getUserCountForCobrandAndTier("SELF-SERVE", $cobrandId); if ($growUserCount && $growUserCount > 0) { $growTierUsageData[] = $usageRecord; } $enterPriseUserCount = getUserCountForCobrandAndTier("ENTERPRISE", $cobrandId); if ($enterPriseUserCount && $enterPriseUserCount > 0) { $enterpriseTierUsageData[] = $usageRecord; } } ?>
Report Generated date : " . ($_POST['date']) . "

"; } else { echo "

Report Generated date : " . date("m/d/Y") . "

"; } ?>

Sandbox

' . $currentWeekSandboxUsers . '

this week

' . $currentMonthSandboxUsers . '

this month

' . $totalSandboxUsers . '

Since Launch Date: 04/01/19

'; } else { echo '
' . $currentMonth . '' . $lastMonth . '
' . $currentMonthSandboxUsers . '' . $lastMonthSandboxUsers . '
' . $currentWeekDisplay . '' . $lastWeekDisplay . '
' . $currentWeekSandboxUsers . '' . $lastWeekSandboxUsers . '

' . $totalSandboxUsers . '
Since Launch Date: 04/01/19

' . $totalSandboxUsersNewPortal . '
Since New Portal: 10/24/19

'; } ?>

Launch

' . array_sum($currentWeekEvalData) . '

this week

' . array_sum($currentMonthEvalData) . '

this month

' . array_sum($allEvaluationRequestsData) . '

Since Launch Date: 04/01/19

'; } else { echo '
' . $currentMonth . '' . $lastMonth . '
' . array_sum($currentMonthEvalData) . '' . array_sum($lastMonthEvalData) . '
' . $currentWeekDisplay . '' . $lastWeekDisplay . '
' . array_sum($currentWeekEvalData) . '' . array_sum($lastWeekEvalData) . '

' . $allEvaluationRequestsData['APPROVED'] . '
Since Launch Date: 04/01/19

' . $allEvaluationRequestsDataNewPortal['APPROVED'] . '
Since New Portal: 10/24/19

'; } ?>
  • Approved
  • Rejected
  • Approved
  • Rejected
  • Approved
  • Rejected
  • Approved
  • Rejected
Cobrand Id Cobrand Name Agg Users IAV Count '; foreach ($launchTierUsageData as $usageRecord) { echo ''; echo '' . $usageRecord->field_cobrand_id['und'][0]['value'] . ''; echo '' . $usageRecord->field_cobrand_name['und'][0]['value'] . ''; echo '' . $usageRecord->field_agg_active_user_count['und'][0]['value'] . ''; echo '' . $usageRecord->field_iav_request_count['und'][0]['value'] . ''; echo ''; } } ?>

Grow

' . $thisWeekGrowUsers . '

this week

' . $lastWeekGrowUsers . '

this month

' . $totalGrow . '

Since Launch Date: 04/01/19

' . $totalGrowNewPortal . '

Since New Portal: 10/24/19

'; } else { echo '

' . $thisWeekGrowUsers . '

this week

' . $lastWeekGrowUsers . '

this month

' . $totalGrow . '

Since Launch Date: 04/01/19

' . $totalGrowNewPortal . '

Since New Portal: 10/24/19

'; } ?>
Cobrand Id Cobrand Name Agg Users IAV Count '; foreach ($growTierUsageData as $usageRecord) { echo ''; echo '' . $usageRecord->field_cobrand_id['und'][0]['value'] . ''; echo '' . $usageRecord->field_cobrand_name['und'][0]['value'] . ''; echo '' . $usageRecord->field_agg_active_user_count['und'][0]['value'] . ''; echo '' . $usageRecord->field_iav_request_count['und'][0]['value'] . ''; echo ''; } } ?>

Enterprise

' . $thisWeekEnterpriseUsers . '

this week

' . $currentMonthEnterpriseUsers . '

this month

' . $totalEnterpriseUsers . '

Since Launch Date: 04/01/19

' . $totalEnterpriseUsersNewPortal . '

Since New Portal: 10/24/19

'; } else { echo '

' . $thisWeekEnterpriseUsers . '

this week

' . $currentMonthEnterpriseUsers . '

this month

' . $totalEnterpriseUsers . '

Since Launch Date: 04/01/19

' . $totalEnterpriseUsersNewPortal . '

Since New Portal: 10/24/19

'; } ?>
Cobrand Id Cobrand Name Agg Users IAV Count '; foreach ($enterpriseTierUsageData as $usageRecord) { echo ''; echo '' . $usageRecord->field_cobrand_id['und'][0]['value'] . ''; echo '' . $usageRecord->field_cobrand_name['und'][0]['value'] . ''; echo '' . $usageRecord->field_agg_active_user_count['und'][0]['value'] . ''; echo '' . $usageRecord->field_iav_request_count['und'][0]['value'] . ''; echo ''; } } ?>