public static function manageReportDomain($reportId, $userDomainId, $reportDomainId) { global $db; require_once "modules/asol_Domains/AlineaSolDomainsFunctions.php"; $domainReportQuery = $db->query("SELECT * FROM asol_reports WHERE id='" . $reportId . "' LIMIT 1"); $domainReportRow = $db->fetchByAssoc($domainReportQuery); $reportDomainIsPublished = $domainReportRow['asol_published_domain'] == '1' ? true : false; $reportDomainPublishedMode = $domainReportRow['asol_domain_published_mode']; $reportDomainPublishedLevels = $domainReportRow['asol_domain_child_share_depth'] === ';;' ? array() : explode(';;', substr($domainReportRow['asol_domain_child_share_depth'], 1, -1)); $reportDomainPublishedDomains = $domainReportRow['asol_multi_create_domain'] === ';;' ? array() : explode(';;', substr($domainReportRow['asol_multi_create_domain'], 1, -1)); $isPublished = $domainPublishingInfo; $domainPublishingInfo = array('domains' => $reportDomainPublishedDomains, 'levels' => $reportDomainPublishedLevels, 'mode' => $reportDomainPublishedMode, 'mainDomain' => $reportDomainId, 'isPublished' => $reportDomainIsPublished); $reportPublishedDomains = asol_manageDomains::getDomainsPublished($domainPublishingInfo); $reportParentDomains = asol_manageDomains::getParentDomainsIds($reportDomainId, true); return in_array($userDomainId, array_merge($reportPublishedDomains, $reportParentDomains)); }
case "daily": $dayWeek = "-1"; $dayMonth = "-1"; break; } if (($currentW == $dayWeek % 7 || $currentJ == $dayMonth || $taskValues[1] == "daily") && $currentH == $hour && ($currentI >= $min && $currentI < $min + $schedulerMinutaryInterval) && $taskValues[5] == "active" && $currentDate <= $taskValues[4]) { if (asol_ReportsUtils::isDomainsInstalled()) { require_once "modules/asol_Domains/AlineaSolDomainsFunctions.php"; $reportDomainId = $scheduledReport['asol_domain_id']; $reportDomainIsPublished = $scheduledReport['asol_published_domain'] == '1' ? true : false; $reportDomainPublishedMode = $scheduledReport['asol_domain_published_mode']; $reportDomainPublishedLevels = $scheduledReport['asol_domain_child_share_depth'] === ';;' ? array() : explode(';;', substr($scheduledReport['asol_domain_child_share_depth'], 1, -1)); $reportDomainPublishedDomains = $scheduledReport['asol_multi_create_domain'] === ';;' ? array() : explode(';;', substr($scheduledReport['asol_multi_create_domain'], 1, -1)); if ($reportDomainPublishedMode != '0' && $reportDomainIsPublished) { $domainPublishingInfo = array('domains' => $reportDomainPublishedDomains, 'levels' => $reportDomainPublishedLevels, 'mode' => $reportDomainPublishedMode, 'mainDomain' => $reportDomainId, 'isPublished' => $reportDomainIsPublished); foreach (asol_manageDomains::getDomainsPublished($domainPublishingInfo) as $reportPublishedDomain) { $scheduled_reports[] = array('id' => $scheduledReports[$key]['id'], 'created_by' => $scheduledReports[$key]['created_by'], 'report_type' => $scheduledReports[$key]['report_type'], 'domain_id' => $reportPublishedDomain); asol_ReportsUtils::reports_log('asol', 'Scheduled Report Id: ' . $scheduledReports[$key]['id'] . ' Domain: ' . $reportPublishedDomain . ' ', __FILE__, __METHOD__, __LINE__); } } else { $scheduled_reports[] = array('id' => $scheduledReports[$key]['id'], 'created_by' => $scheduledReports[$key]['created_by'], 'report_type' => $scheduledReports[$key]['report_type'], 'domain_id' => $reportDomainId); asol_ReportsUtils::reports_log('asol', 'Scheduled Report Id: ' . $scheduledReports[$key]['id'] . ' Domain: ' . $reportDomainId . ' ', __FILE__, __METHOD__, __LINE__); } } else { $scheduled_reports[] = array('id' => $scheduledReports[$key]['id'], 'created_by' => $scheduledReports[$key]['created_by'], 'report_type' => $scheduledReports[$key]['report_type'], 'domain_id' => null); asol_ReportsUtils::reports_log('asol', 'Scheduled Report Id: ' . $scheduledReport['id'], __FILE__, __METHOD__, __LINE__); } //Se rompe el bucle foreach una vez se haya comprobado que hay que realizar una tarea break; } //Fin de la condicion de que se cumpla la fecha y hora