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)); }
$tasks[$key] = implode(":", $values); } $localMachineOffSet = date("Z"); $focus->report_tasks = empty($tasks) ? '${GMT}' : implode("|", $tasks) . $localMachineOffSet / 3600; $focus->email_list = $_REQUEST['email_list']; } else { $focus->id = $_REQUEST['record']; $focus->deleted = 1; } $reportId = $focus->save(); //*************************// //***Publication Domains***// //*************************// if (asol_ReportsUtils::isDomainsInstalled()) { require_once "modules/asol_Domains/AlineaSolDomainsFunctions.php"; asol_manageDomains::managePublicationDomainRequest('asol_domain_published_mode', 'asol_domain_child_share_depth', 'asol_multi_create_domain', 'asol_published_domain'); } //*************************// //***Publication Domains***// //*************************// //Redireccionar a la pantalla 'search.php' if (isset($_POST['return_module']) && $_POST['return_module'] != "") { $return_module = $_POST['return_module']; } else { $return_module = "asol_Reports"; } if (isset($_POST['return_action']) && $_POST['return_action'] != "") { $return_action = $_POST['return_action']; } else { $return_action = "index"; }
public static function domainCanModifyReport($domainId) { require_once "modules/asol_Domains/AlineaSolDomainsFunctions.php"; global $current_user; $parentDomains = asol_manageDomains::getParentDomainsWithHeight($current_user->asol_domain_id); $parentDomainsIds = array(); foreach ($parentDomains as $parentDomain) { $parentDomainsIds[] = $parentDomain['id']; } return !in_array($domainId, $parentDomainsIds); }
</div>'; if (asol_ReportsUtils::isDomainsInstalled()) { $domainPublishVisibility = $manageWithTabs ? '' : 'display: none'; echo ' <div id="domainPublishing" class="reportPanel"> <h4 class="reportPanelHeader">' . asol_ReportsManagementFunctions::getCollapsableHeader('LBL_ASOL_DOMAINS_PUBLISH_FEATURE_PANEL', 'domainPublishing', true) . '</h4> <table class="edit view" style="' . $domainPublishVisibility . '"> <tbody> <tr> ' . asol_manageDomains::getBeanDomainNameHtml($focus->asol_domain_name) . ' ' . asol_manageDomains::getEmptyCellHtml() . ' </tr> <tr> ' . asol_manageDomains::getBeanPublishManagementButtonHtml($focus->id, 'asol_reports') . ' ' . asol_manageDomains::getBeanPublishDomainHtml($focus->asol_published_domain) . ' </tr> </tbody> </table> </div>'; } echo ' </div> </div> ' . asol_ReportsManagementFunctions::getSubmitButtons() . ' </form> </td>
public static function modifySqlWhereForAsolDomainsQuery(&$sqlWhere, $domainReportTable, $current_user, $schedulerCall, $asolReportDomainId, $domainField = null, $aliasSuffix = '') { global $db; if (!empty($asolReportDomainId) || $schedulerCall) { require_once "modules/asol_Domains/AlineaSolDomainsFunctions.php"; $domainsBean = BeanFactory::getBean('asol_Domains', $asolReportDomainId); if ($domainsBean->asol_domain_enabled) { if ($domainField !== null) { if ($domainField != "") { $externalIdUsage = isset($domainField["externalIdUsage"]) && $domainField["externalIdUsage"]; $domainFieldName = $domainField["fieldName"]; $domainIsNumeric = $externalIdUsage ? false : $domainField["isNumeric"]; $domainShowUpperLevels = isset($domainField["showUpperLevels"]) ? $domainField["showUpperLevels"] : false; $asolReportDomainValue = $externalIdUsage ? $domainsBean->external_id : $asolReportDomainId; if (isset($domainField["domainRelation"])) { $domainReportTable = $domainField["domainRelation"]["relatedTable"]; } $domainFieldChar = $domainIsNumeric ? "" : "'"; $sqlWhere .= (empty($sqlWhere) ? " WHERE " : " AND ") . " ( (" . $domainReportTable . $aliasSuffix . "." . $domainFieldName . "=" . $domainFieldChar . $asolReportDomainValue . $domainFieldChar . ") "; //***asol_child_domains***// $childDomainsIds = asol_manageDomains::getChildDomainsArray($asolReportDomainId); $childDomainsStr = array(); foreach ($childDomainsIds as $key => $domainId) { if (!$domainId['enabled']) { array_splice($childDomainsIds, $key, 1); } else { $childDomainsStr[] = $externalIdUsage ? $domainId['external_id'] : $domainId['id']; } } $sqlWhere .= count($childDomainsIds) > 0 ? "OR (" . $domainReportTable . $aliasSuffix . "." . $domainFieldName . " IN (" . $domainFieldChar . implode($domainFieldChar . "," . $domainFieldChar, $childDomainsStr) . $domainFieldChar . ")) " : " "; //***asol_child_domains***// //***asol_parent_domains***// if ($domainShowUpperLevels) { $parentDomainIds = asol_manageDomains::getParentDomainsIds($asolReportDomainId); if (!empty($parentDomainIds)) { $sqlWhere .= "OR (" . $domainReportTable . $aliasSuffix . "." . $domainFieldName . " IN (" . $domainFieldChar . implode($domainFieldChar . "," . $domainFieldChar, $parentDomainIds) . $domainFieldChar . ")) "; } } //***asol_parent_domains***// $sqlWhere .= ") "; } } else { $sqlWhere .= " AND ( (" . $domainReportTable . $aliasSuffix . ".asol_domain_id='" . $asolReportDomainId . "')"; if ($current_user->asol_only_my_domain == 0 || $schedulerCall) { //***asol_domain_child_share_depth***// $sqlWhere .= asol_manageDomains::getChildShareDepthQuery($domainReportTable . $aliasSuffix . '.', $asolReportDomainId); //***asol_domain_child_share_depth***// //***asol_multi_create_domain***// if ($domainReportTable != 'users') { $sqlWhere .= asol_manageDomains::getMultiCreateQuery($domainReportTable . $aliasSuffix . '.', $asolReportDomainId); } //***asol_multi_create_domain***// //***asol_publish_to_all***// $sqlWhere .= asol_manageDomains::getPublishToAllQuery($domainReportTable . $aliasSuffix . '.', $asolReportDomainId); //***asol_publish_to_all***// //***asol_child_domains***// $sqlWhere .= asol_manageDomains::getChildHierarchyQuery($domainReportTable . $aliasSuffix . '.', $asolReportDomainId); //***asol_child_domains***// } else { $sqlWhere .= ") "; } } } else { $sqlWhere .= " AND (1!=1) "; } } }
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
require_once "modules/asol_Domains/AlineaSolDomainsFunctions.php"; $domainsBean = BeanFactory::getBean('asol_Domains', $current_user->asol_default_domain); if ($domainsBean->asol_domain_enabled) { $sqlWhere .= " AND ( (asol_reports.asol_domain_id='" . $current_user->asol_default_domain . "')"; if ($current_user->asol_only_my_domain == 0) { //asol_domain_child_share_depth $sqlWhere .= asol_manageDomains::getChildShareDepthQuery('asol_reports.'); //asol_domain_child_share_depth //asol_multi_create_domain $sqlWhere .= asol_manageDomains::getMultiCreateQuery('asol_reports.'); //asol_multi_create_domain //***asol_publish_to_all***// $sqlWhere .= asol_manageDomains::getPublishToAllQuery('asol_reports.'); //***asol_publish_to_all***// //***asol_child_domains***// $sqlWhere .= asol_manageDomains::getChildHierarchyQuery('asol_reports.'); //***asol_child_domains***// } else { $sqlWhere .= ") "; } } else { $sqlWhere .= " AND (1!=1) "; } } } //**************************// //***Is Domains Installed***// //**************************// $sqlJoinWhere = " AND users.user_name LIKE '%" . $assigned_user_name . "%'"; $rs = asol_Report::getSelectionResults("SELECT COUNT(asol_reports.id) AS total FROM asol_reports" . $sqlJoin . $sqlWhere . $sqlJoinWhere, null, false); $total_entries = $rs[0]['total'];