public static function parseSelection(umiSelection $vef5714e0519bfaa645cdff7d28843b70) { if (!defined('MAX_SELECTION_TABLE_JOINS')) { define('MAX_SELECTION_TABLE_JOINS', 10); } $vef5714e0519bfaa645cdff7d28843b70->sql_cond__need_content = false; $vef5714e0519bfaa645cdff7d28843b70->sql_cond__need_hierarchy = $vef5714e0519bfaa645cdff7d28843b70->getForceCond(); $vef5714e0519bfaa645cdff7d28843b70->sql_cond__domain_ignored = $vef5714e0519bfaa645cdff7d28843b70->getIsDomainIgnored(); $vef5714e0519bfaa645cdff7d28843b70->sql_cond__lang_ignored = $vef5714e0519bfaa645cdff7d28843b70->getIsLangIgnored(); $vef5714e0519bfaa645cdff7d28843b70->sql_cond__total_joins = 0; $vef5714e0519bfaa645cdff7d28843b70->sql_cond__content_tables_loaded = 0; $vef5714e0519bfaa645cdff7d28843b70->sql_arr_for_mark_used_fields = array(); $vef5714e0519bfaa645cdff7d28843b70->sql_arr_for_and_or_part = array(); $vef5714e0519bfaa645cdff7d28843b70->sql_part__hierarchy = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_part__element_type = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_part__object_type = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_part__owner = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_part__objects = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_part__elements = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_part__perms = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_part__props_and_names = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_part__lang_cond = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_part__domain_cond = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_part__unactive_cond = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_part__perms_tables = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_part__content_tables = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_kwd_distinct = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_kwd_distinct_count = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_kwd_straight_join = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_select_expr = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_table_references = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_required = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_common = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_additional = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_order_by = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_limit = ""; self::makeLimitPart($vef5714e0519bfaa645cdff7d28843b70); self::makeHierarchyPart($vef5714e0519bfaa645cdff7d28843b70); self::makeElementTypePart($vef5714e0519bfaa645cdff7d28843b70); self::makeOwnerPart($vef5714e0519bfaa645cdff7d28843b70); self::makeObjectsPart($vef5714e0519bfaa645cdff7d28843b70); self::makeElementsPart($vef5714e0519bfaa645cdff7d28843b70); self::makePermsParts($vef5714e0519bfaa645cdff7d28843b70); self::makePropPart($vef5714e0519bfaa645cdff7d28843b70); self::makeObjectTypePart($vef5714e0519bfaa645cdff7d28843b70); self::makeOrderPart($vef5714e0519bfaa645cdff7d28843b70); self::makeNamesPart($vef5714e0519bfaa645cdff7d28843b70); self::makePropsAndNames($vef5714e0519bfaa645cdff7d28843b70); self::makeHierarchySpecificConds($vef5714e0519bfaa645cdff7d28843b70); if ($vef5714e0519bfaa645cdff7d28843b70->sql_cond__total_joins >= 59) { return array("result" => false, "count" => false); } self::makeDistinctKeywords($vef5714e0519bfaa645cdff7d28843b70); self::makeStraitJoinKeyword($vef5714e0519bfaa645cdff7d28843b70); self::makeSelectExpr($vef5714e0519bfaa645cdff7d28843b70); self::makeTables($vef5714e0519bfaa645cdff7d28843b70); self::makeWhereConditions($vef5714e0519bfaa645cdff7d28843b70); $v1126b3d9572018ac34b2e234c00dc2c3 = ""; $v7dabf5c198b0bab2eaa42bb03a113e55 = sizeof($vef5714e0519bfaa645cdff7d28843b70->usedContentTables); if ($v7dabf5c198b0bab2eaa42bb03a113e55 > 1) { for ($v865c0c0b4ab0e063e5caa3387c1a8741 = 0; $v865c0c0b4ab0e063e5caa3387c1a8741 < $v7dabf5c198b0bab2eaa42bb03a113e55 - 1; $v865c0c0b4ab0e063e5caa3387c1a8741++) { $v43b5c9175984c071f30b873fdce0a000 = $vef5714e0519bfaa645cdff7d28843b70->usedContentTables[$v865c0c0b4ab0e063e5caa3387c1a8741]; $vd0cab90d8d20d57e2f2b9be52f7dd25d = $vef5714e0519bfaa645cdff7d28843b70->usedContentTables[$v865c0c0b4ab0e063e5caa3387c1a8741 + 1]; $v1126b3d9572018ac34b2e234c00dc2c3 .= " AND {$v43b5c9175984c071f30b873fdce0a000}.obj_id = {$vd0cab90d8d20d57e2f2b9be52f7dd25d}.obj_id"; } } $v16efe07aeec5bc36c29c1116370aaf55 = ""; if (defined("DISABLE_CALC_FOUND_ROWS")) { if (DISABLE_CALC_FOUND_ROWS) { $v16efe07aeec5bc36c29c1116370aaf55 = "SQL_CALC_FOUND_ROWS"; } } if ($vef5714e0519bfaa645cdff7d28843b70->sql_part__perms_tables) { $vef5714e0519bfaa645cdff7d28843b70->sql_kwd_distinct = ""; $vef5714e0519bfaa645cdff7d28843b70->sql_group_by = " GROUP BY h.id"; } else { $vef5714e0519bfaa645cdff7d28843b70->sql_group_by = ""; } $vac5c74b64b4b8352ef2f181affb5ac2a = <<<SQL \t\t\t\tSELECT {$vef5714e0519bfaa645cdff7d28843b70->sql_kwd_straight_join} {$v16efe07aeec5bc36c29c1116370aaf55} {$vef5714e0519bfaa645cdff7d28843b70->sql_kwd_distinct} \t\t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_select_expr} \t\t\t\tFROM \t\t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_table_references} \t\t\t\tWHERE \t\t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_required} \t\t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_common} \t\t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_additional} \t\t\t\t\t{$v1126b3d9572018ac34b2e234c00dc2c3} \t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_group_by} \t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_order_by} \t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_limit} SQL; $vc89ab23398f486d0df6dc8ad44ae1d4c = <<<SQL \t\t\t\tSELECT {$vef5714e0519bfaa645cdff7d28843b70->sql_kwd_straight_join} \t\t\t\t\tCOUNT({$vef5714e0519bfaa645cdff7d28843b70->sql_kwd_distinct_count}{$vef5714e0519bfaa645cdff7d28843b70->sql_select_count_expr}) \t\t\t\tFROM \t\t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_table_references} \t\t\t\tWHERE \t\t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_required} \t\t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_common} \t\t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_additional} \t\t\t\t\t{$v1126b3d9572018ac34b2e234c00dc2c3} SQL; if ($vef5714e0519bfaa645cdff7d28843b70->optimize_root_search_query && sizeof($vef5714e0519bfaa645cdff7d28843b70->getElementTypeConds()) && !sizeof(array_positive_values($vef5714e0519bfaa645cdff7d28843b70->getHierarchyConds()))) { $vca7adb9881c5ed53066501aa82aae638 = implode(", ", $vef5714e0519bfaa645cdff7d28843b70->getElementTypeConds()); if ($vef5714e0519bfaa645cdff7d28843b70->sql_table_references) { $vef5714e0519bfaa645cdff7d28843b70->sql_table_references = "," . $vef5714e0519bfaa645cdff7d28843b70->sql_table_references; } if ($vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_required) { $vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_required = " AND " . $vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_required; } $vac5c74b64b4b8352ef2f181affb5ac2a = <<<SQL SELECT DISTINCT h.id \tFROM cms3_hierarchy hp \t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_table_references} \t\tWHERE h.type_id IN ({$vca7adb9881c5ed53066501aa82aae638}) \t\t\tAND (h.rel = 0 OR (h.rel = hp.id AND hp.type_id NOT IN ({$vca7adb9881c5ed53066501aa82aae638}))) {$vef5714e0519bfaa645cdff7d28843b70->sql_part__domain_cond} {$vef5714e0519bfaa645cdff7d28843b70->sql_part__lang_cond} \t\t\tAND h.is_deleted = '0' \t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_required} \t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_common} \t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_where_condition_additional} \t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_order_by} \t\t\t\t{$vef5714e0519bfaa645cdff7d28843b70->sql_limit} SQL; $vc89ab23398f486d0df6dc8ad44ae1d4c = <<<SQL SELECT COUNT(DISTINCT h.id) FROM cms3_hierarchy h, cms3_hierarchy hp WHERE h.type_id IN ({$vca7adb9881c5ed53066501aa82aae638}) AND (h.rel = 0 OR (h.rel = hp.id AND hp.type_id NOT IN ({$vca7adb9881c5ed53066501aa82aae638}))) {$vef5714e0519bfaa645cdff7d28843b70->sql_part__domain_cond} {$vef5714e0519bfaa645cdff7d28843b70->sql_part__lang_cond} AND h.is_deleted = '0' SQL; } return array('result' => $vac5c74b64b4b8352ef2f181affb5ac2a, 'count' => $vc89ab23398f486d0df6dc8ad44ae1d4c); }
function array_positive_values($v47c80780ab608cc046f2a6e6f071feb6, $vf8532b6380228945d474f37fb6cdac27 = true) { if (is_array($v47c80780ab608cc046f2a6e6f071feb6) == false) { return array(); } $result = array(); foreach ($v47c80780ab608cc046f2a6e6f071feb6 as $v3c6e0b8a9c15224a8228b9a98ca1531d => $v2063c1608d6e0baf80249c42e2be5804) { if ($v2063c1608d6e0baf80249c42e2be5804) { if (is_array($v2063c1608d6e0baf80249c42e2be5804)) { if ($vf8532b6380228945d474f37fb6cdac27) { $v2063c1608d6e0baf80249c42e2be5804 = array_positive_values($v2063c1608d6e0baf80249c42e2be5804, $vf8532b6380228945d474f37fb6cdac27); if (sizeof($v2063c1608d6e0baf80249c42e2be5804) == 0) { continue; } } } $result[$v3c6e0b8a9c15224a8228b9a98ca1531d] = $v2063c1608d6e0baf80249c42e2be5804; } } return $result; }