コード例 #1
0
 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));
 }
コード例 #2
0
ファイル: save.php プロジェクト: jeffcao/fzglsys_v5
        $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";
}
コード例 #3
0
 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);
 }
コード例 #4
0
				
									</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>
コード例 #5
0
ファイル: generateQuery.php プロジェクト: jeffcao/fzglsys_v5
 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) ";
         }
     }
 }
コード例 #6
0
ファイル: scheduledTask.php プロジェクト: jeffcao/fzglsys_v5
     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
コード例 #7
0
ファイル: index.php プロジェクト: jeffcao/fzglsys_v5
        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'];