private static function makePropPart(umiSelection $vef5714e0519bfaa645cdff7d28843b70) { if ($v23182694bce9f52758fbab174a0b3607 = $vef5714e0519bfaa645cdff7d28843b70->getSearchStrings()) { $v80071f37861c360a27b7327e132c911a = "cms3_object_content"; $v6a7f245843454cf4f28ad7c5e2572aa2 = $vef5714e0519bfaa645cdff7d28843b70->getHierarchyConds(); $v6a7f245843454cf4f28ad7c5e2572aa2 = array_extract_values($v6a7f245843454cf4f28ad7c5e2572aa2); if (sizeof($v6a7f245843454cf4f28ad7c5e2572aa2)) { $v6301cee35ea764a1e241978f93f01069 = umiHierarchy::getInstance()->getDominantTypeId(array_pop($v6a7f245843454cf4f28ad7c5e2572aa2)); $v80071f37861c360a27b7327e132c911a = umiBranch::getBranchedTableByTypeId($v6301cee35ea764a1e241978f93f01069); } else { $vd14a8022b085f9ef19d479cbdd581127 = $vef5714e0519bfaa645cdff7d28843b70->getElementTypeConds(); if (is_array($vd14a8022b085f9ef19d479cbdd581127) && sizeof($vd14a8022b085f9ef19d479cbdd581127)) { $vacf567c9c3d6cf7c6e2cc0ce108e0631 = array_pop($vd14a8022b085f9ef19d479cbdd581127); if ($vacf567c9c3d6cf7c6e2cc0ce108e0631 == 21 && sizeof($vd14a8022b085f9ef19d479cbdd581127)) { $vacf567c9c3d6cf7c6e2cc0ce108e0631 = array_pop($vd14a8022b085f9ef19d479cbdd581127); } if (umiBranch::checkIfBranchedByHierarchyTypeId($vacf567c9c3d6cf7c6e2cc0ce108e0631)) { $v80071f37861c360a27b7327e132c911a .= "_" . $vacf567c9c3d6cf7c6e2cc0ce108e0631; } } } $v056301054c43f8bbea2090debfec16b1 = "ct"; $vef5714e0519bfaa645cdff7d28843b70->sql_part__content_tables .= ", {$v80071f37861c360a27b7327e132c911a} {$v056301054c43f8bbea2090debfec16b1}"; $vef5714e0519bfaa645cdff7d28843b70->usedContentTables[] = $v056301054c43f8bbea2090debfec16b1; $ve1043d63313a1b59f16fe608277bc9a7 = self::getFileFields(); if (sizeof($ve1043d63313a1b59f16fe608277bc9a7) > 0) { $vd60fb1b18e68fb7029b3ef48c9a18834 = " AND ct.field_id NOT IN (" . implode(", ", $ve1043d63313a1b59f16fe608277bc9a7) . ")"; } else { $vd60fb1b18e68fb7029b3ef48c9a18834 = ""; } $v4ab5dfe1c68b36d1aa7d5f8d9cde73bc = array(); foreach ($v23182694bce9f52758fbab174a0b3607 as $v597a51f04d341eba4ca965899acc10b3) { $v597a51f04d341eba4ca965899acc10b3 = l_mysql_real_escape_string($v597a51f04d341eba4ca965899acc10b3); $v4439237446062bd0268640161c6a6bc3 = is_numeric($v597a51f04d341eba4ca965899acc10b3) ? " OR ct.float_val = '{$v597a51f04d341eba4ca965899acc10b3}' OR ct.int_val = '{$v597a51f04d341eba4ca965899acc10b3}'" : ""; $v4ab5dfe1c68b36d1aa7d5f8d9cde73bc[] = "o.name LIKE '%{$v597a51f04d341eba4ca965899acc10b3}%' OR ct.varchar_val LIKE '%{$v597a51f04d341eba4ca965899acc10b3}%' OR ct.text_val LIKE '%{$v597a51f04d341eba4ca965899acc10b3}%' {$v4439237446062bd0268640161c6a6bc3}" . $vd60fb1b18e68fb7029b3ef48c9a18834; } $vef5714e0519bfaa645cdff7d28843b70->sql_arr_for_and_or_part['where'][] = "ct.obj_id = o.id AND (" . implode(" OR ", $v4ab5dfe1c68b36d1aa7d5f8d9cde73bc) . ")"; $vef5714e0519bfaa645cdff7d28843b70->sql_cond__need_content = true; } if ($vc25b09274ac632224f348e21022a7106 = $vef5714e0519bfaa645cdff7d28843b70->getPropertyConds()) { $v47ec37bbecbabe9f73c2d0056e5cb796 = array(); foreach ($vc25b09274ac632224f348e21022a7106 as $v7f8b41bdd7c22fc431a0314de4595025) { if ($v7f8b41bdd7c22fc431a0314de4595025['type'] !== false) { $v47ec37bbecbabe9f73c2d0056e5cb796[] = $v7f8b41bdd7c22fc431a0314de4595025; } } unset($vc25b09274ac632224f348e21022a7106); if ($v7dabf5c198b0bab2eaa42bb03a113e55 = sizeof($v47ec37bbecbabe9f73c2d0056e5cb796)) { $v865c0c0b4ab0e063e5caa3387c1a8741 = 0; for ($v865c0c0b4ab0e063e5caa3387c1a8741 = 0; $v865c0c0b4ab0e063e5caa3387c1a8741 < $v7dabf5c198b0bab2eaa42bb03a113e55; $v865c0c0b4ab0e063e5caa3387c1a8741++) { $v5cba202deaa7e9f47bd0317cf014c64b = $v47ec37bbecbabe9f73c2d0056e5cb796[$v865c0c0b4ab0e063e5caa3387c1a8741]; $vf642bf0e4102797f994548b9f4ee9e4a = isset($v5cba202deaa7e9f47bd0317cf014c64b['filter_type']) ? $v5cba202deaa7e9f47bd0317cf014c64b['filter_type'] : ''; $v01aaeba75d696598feafcb0226fdb7e9 = isset($v5cba202deaa7e9f47bd0317cf014c64b['value']) ? $v5cba202deaa7e9f47bd0317cf014c64b['value'] : null; $v0f728ec6147eaec54f5f45e37bce8ddd = isset($v5cba202deaa7e9f47bd0317cf014c64b['field_id']) ? $v5cba202deaa7e9f47bd0317cf014c64b['field_id'] : 0; $v1abd88b57ac7e290b6c91d26b0909006 = isset($v5cba202deaa7e9f47bd0317cf014c64b['type']) ? $v5cba202deaa7e9f47bd0317cf014c64b['type'] : ''; if ($v1abd88b57ac7e290b6c91d26b0909006 == 'optioned') { if (!is_array($v01aaeba75d696598feafcb0226fdb7e9)) { continue; } $v14f802e1fba977727845e8872c1743a7 = array_keys($v01aaeba75d696598feafcb0226fdb7e9); if (sizeof($v14f802e1fba977727845e8872c1743a7) == 0) { continue; } list($v1abd88b57ac7e290b6c91d26b0909006) = $v14f802e1fba977727845e8872c1743a7; if (in_array($v1abd88b57ac7e290b6c91d26b0909006, array('int', 'float', 'varchar', 'tree', 'rel')) == false) { continue; } $v1abd88b57ac7e290b6c91d26b0909006 .= "_val"; } if (!$vef5714e0519bfaa645cdff7d28843b70->getConditionModeOr() || $vef5714e0519bfaa645cdff7d28843b70->sql_cond__content_tables_loaded == 0) { $v056301054c43f8bbea2090debfec16b1 = "c" . ++$vef5714e0519bfaa645cdff7d28843b70->sql_cond__content_tables_loaded; $v80071f37861c360a27b7327e132c911a = self::chooseContentTableName($vef5714e0519bfaa645cdff7d28843b70, $v47ec37bbecbabe9f73c2d0056e5cb796[$v865c0c0b4ab0e063e5caa3387c1a8741]['field_id']); $vef5714e0519bfaa645cdff7d28843b70->sql_part__content_tables .= ", {$v80071f37861c360a27b7327e132c911a} {$v056301054c43f8bbea2090debfec16b1}"; $vef5714e0519bfaa645cdff7d28843b70->usedContentTables[] = $v056301054c43f8bbea2090debfec16b1; } $v64df937f321ebd648bc77b99cf76cb38 = $v056301054c43f8bbea2090debfec16b1 . ".obj_id = o.id AND " . $v056301054c43f8bbea2090debfec16b1 . ".field_id = '" . $v0f728ec6147eaec54f5f45e37bce8ddd . "'"; if ($v1abd88b57ac7e290b6c91d26b0909006 != 'optioned') { $v4cdef984848c418ea8a3c646e5852e32 = $v056301054c43f8bbea2090debfec16b1 . "." . $v1abd88b57ac7e290b6c91d26b0909006; } switch ($vf642bf0e4102797f994548b9f4ee9e4a) { case 'equal': if ($v01aaeba75d696598feafcb0226fdb7e9) { if (!is_array($v01aaeba75d696598feafcb0226fdb7e9)) { $v01aaeba75d696598feafcb0226fdb7e9 = array($v01aaeba75d696598feafcb0226fdb7e9); } $v3a0317e07571e01889f5f6982960cc2a = "'" . implode("', '", array_map('l_mysql_real_escape_string', $v01aaeba75d696598feafcb0226fdb7e9)) . "'"; $vf92fcd26dc4ba92f75934707ad0917d9 = "(" . $v64df937f321ebd648bc77b99cf76cb38 . " AND (" . $v4cdef984848c418ea8a3c646e5852e32 . " IN (" . $v3a0317e07571e01889f5f6982960cc2a . ")))"; } else { $v01aaeba75d696598feafcb0226fdb7e9 = l_mysql_real_escape_string($v01aaeba75d696598feafcb0226fdb7e9); $vf92fcd26dc4ba92f75934707ad0917d9 = "({$v64df937f321ebd648bc77b99cf76cb38} AND ({$v4cdef984848c418ea8a3c646e5852e32} = '{$v01aaeba75d696598feafcb0226fdb7e9}' OR {$v4cdef984848c418ea8a3c646e5852e32} IS NULL))"; } break; case 'not_equal': if (!is_array($v01aaeba75d696598feafcb0226fdb7e9)) { $v01aaeba75d696598feafcb0226fdb7e9 = array($v01aaeba75d696598feafcb0226fdb7e9); } $v3a0317e07571e01889f5f6982960cc2a = "'" . implode("', '", array_map('l_mysql_real_escape_string', $v01aaeba75d696598feafcb0226fdb7e9)) . "'"; $vf92fcd26dc4ba92f75934707ad0917d9 = "(" . $v64df937f321ebd648bc77b99cf76cb38 . " AND ((" . $v4cdef984848c418ea8a3c646e5852e32 . " IS NULL) OR (" . $v4cdef984848c418ea8a3c646e5852e32 . " NOT IN (" . $v3a0317e07571e01889f5f6982960cc2a . "))))"; break; case 'like': $vb6c8416e95a754076b10d65d1afd3fa9 = true; if (substr($v01aaeba75d696598feafcb0226fdb7e9, 0, 1) === '%' || substr($v01aaeba75d696598feafcb0226fdb7e9, -1) === '%') { $vb6c8416e95a754076b10d65d1afd3fa9 = false; } $vf578b860df8544c8f826f66977b6e908 = l_mysql_real_escape_string($v01aaeba75d696598feafcb0226fdb7e9); $vf92fcd26dc4ba92f75934707ad0917d9 = "(" . $v64df937f321ebd648bc77b99cf76cb38 . " AND " . $v4cdef984848c418ea8a3c646e5852e32 . " LIKE '" . ($vb6c8416e95a754076b10d65d1afd3fa9 ? "%" : "") . $vf578b860df8544c8f826f66977b6e908 . ($vb6c8416e95a754076b10d65d1afd3fa9 ? "%" : "") . "')"; break; case 'between': $v17fdfd1db155ff501f9553066c50cdab = isset($v5cba202deaa7e9f47bd0317cf014c64b['min']) ? floatval($v5cba202deaa7e9f47bd0317cf014c64b['min']) : 0; $v3a86ffe4f7adcc1fe1457ada5ec034b0 = isset($v5cba202deaa7e9f47bd0317cf014c64b['max']) ? floatval($v5cba202deaa7e9f47bd0317cf014c64b['max']) : 0; $vf92fcd26dc4ba92f75934707ad0917d9 = "(" . $v64df937f321ebd648bc77b99cf76cb38 . " AND " . $v4cdef984848c418ea8a3c646e5852e32 . " BETWEEN '" . $v17fdfd1db155ff501f9553066c50cdab . "' AND '" . $v3a86ffe4f7adcc1fe1457ada5ec034b0 . "')"; break; case 'more': $v6ec037ff2ad4d8e71e8a10efa0ba90ba = floatval($v01aaeba75d696598feafcb0226fdb7e9); $vf92fcd26dc4ba92f75934707ad0917d9 = "(" . $v64df937f321ebd648bc77b99cf76cb38 . " AND " . $v4cdef984848c418ea8a3c646e5852e32 . " >= '" . $v6ec037ff2ad4d8e71e8a10efa0ba90ba . "')"; break; case 'less': $v6ec037ff2ad4d8e71e8a10efa0ba90ba = floatval($v01aaeba75d696598feafcb0226fdb7e9); $vf92fcd26dc4ba92f75934707ad0917d9 = "(" . $v64df937f321ebd648bc77b99cf76cb38 . " AND " . $v4cdef984848c418ea8a3c646e5852e32 . " <= '" . $v6ec037ff2ad4d8e71e8a10efa0ba90ba . "')"; break; case 'null': $vf92fcd26dc4ba92f75934707ad0917d9 = "(" . $v64df937f321ebd648bc77b99cf76cb38 . " AND " . $v4cdef984848c418ea8a3c646e5852e32 . " IS NULL)"; break; case 'notnull': $vf92fcd26dc4ba92f75934707ad0917d9 = "(" . $v64df937f321ebd648bc77b99cf76cb38 . " AND " . $v4cdef984848c418ea8a3c646e5852e32 . " IS NOT NULL)"; break; default: $vf92fcd26dc4ba92f75934707ad0917d9 = ""; break; } if (strlen($vf92fcd26dc4ba92f75934707ad0917d9)) { $vef5714e0519bfaa645cdff7d28843b70->sql_arr_for_and_or_part['where'][] = $vf92fcd26dc4ba92f75934707ad0917d9; } } if (count($vef5714e0519bfaa645cdff7d28843b70->sql_arr_for_and_or_part)) { $vef5714e0519bfaa645cdff7d28843b70->sql_cond__need_content = true; $vef5714e0519bfaa645cdff7d28843b70->sql_cond__total_joins += $v865c0c0b4ab0e063e5caa3387c1a8741; } } } }
public function autoDetectAllFilters(umiSelection $v8be74552df93e31bbdd6b36ed74bdb6a, $v38bceec7c944e9431e65bb5bb50cc5fa = false) { $v6a8e3fc043747ec4b0e60aed6b7023ed = getRequest('rel'); $vf99eaf9123d0eb944e4a40f8c8b73404 = (int) getRequest('depth'); $v8ef57923ab3049b18fb75541ff476ff7 = getRequest('domain_id'); $v99deeeb03d58e86bd63af257b5b74888 = getRequest('lang_id'); if (!$vf99eaf9123d0eb944e4a40f8c8b73404) { $vf99eaf9123d0eb944e4a40f8c8b73404 = 0; } $vb81ca7c0ccaa77e7aa91936ab0070695 = umiHierarchy::getInstance(); $v9b81909fd0da3add2602a8d0ede0e4e7 = umiObjectTypesCollection::getInstance(); $v1723bdd4ee51910267a625cae41ced8a = umiHierarchyTypesCollection::getInstance(); if (is_null(getRequest('or-mode')) == false) { $v8be74552df93e31bbdd6b36ed74bdb6a->setConditionModeOr(); } if (isset($v8ef57923ab3049b18fb75541ff476ff7[0])) { $v8be74552df93e31bbdd6b36ed74bdb6a->setDomainId($v8ef57923ab3049b18fb75541ff476ff7[0]); } if (isset($v99deeeb03d58e86bd63af257b5b74888[0])) { $v8be74552df93e31bbdd6b36ed74bdb6a->setLangId($v99deeeb03d58e86bd63af257b5b74888[0]); } if (is_array($v6a8e3fc043747ec4b0e60aed6b7023ed) && count($v6a8e3fc043747ec4b0e60aed6b7023ed)) { foreach ($v6a8e3fc043747ec4b0e60aed6b7023ed as $vc600dd3e8efd757e388daedf1a383638) { $v558363dde110ad2b3af09518966e0197 = intval($vc600dd3e8efd757e388daedf1a383638); if (is_numeric($v558363dde110ad2b3af09518966e0197)) { $v8be74552df93e31bbdd6b36ed74bdb6a->addHierarchyFilter(intval($vc600dd3e8efd757e388daedf1a383638), $vf99eaf9123d0eb944e4a40f8c8b73404, true); } } } $v0e8133eb006c0f85ed9444ae07a60842 = array_extract_values($v8be74552df93e31bbdd6b36ed74bdb6a->getObjectTypeConds()); $vdad8db09124c43be9156ca0e7596fc04 = array_extract_values($v8be74552df93e31bbdd6b36ed74bdb6a->getElementTypeConds()); $vc4feb6f9b5b1aa42ea49f74ecab346f9 = array_extract_values($v8be74552df93e31bbdd6b36ed74bdb6a->getHierarchyConds(), $vacbd18db4cc2f85cedef654fccc4a4d8, true); $v0132bb0bf9821bce1103f4db6ced0a5f = getRequest('search-all-text'); $v0132bb0bf9821bce1103f4db6ced0a5f = array_extract_values($v0132bb0bf9821bce1103f4db6ced0a5f); $v00ef6e359e66ade0706b8305550f7ea2 = getRequest('fields_filter'); $v00ef6e359e66ade0706b8305550f7ea2 = array_extract_values($v00ef6e359e66ade0706b8305550f7ea2, $vacbd18db4cc2f85cedef654fccc4a4d8, true); if (sizeof($vdad8db09124c43be9156ca0e7596fc04)) { $vd663178671639336ce153c008ff6acef = $vdad8db09124c43be9156ca0e7596fc04[sizeof($vdad8db09124c43be9156ca0e7596fc04) - 1]; } else { $vd663178671639336ce153c008ff6acef = false; } if (sizeof($v0e8133eb006c0f85ed9444ae07a60842)) { reset($v0e8133eb006c0f85ed9444ae07a60842); $v5f694956811487225d15e973ca38fbab = current($v0e8133eb006c0f85ed9444ae07a60842); } else { if (sizeof($vc4feb6f9b5b1aa42ea49f74ecab346f9)) { reset($vc4feb6f9b5b1aa42ea49f74ecab346f9); $v5f694956811487225d15e973ca38fbab = $vb81ca7c0ccaa77e7aa91936ab0070695->getDominantTypeId(current($vc4feb6f9b5b1aa42ea49f74ecab346f9)); } else { if (sizeof($vdad8db09124c43be9156ca0e7596fc04) && (!empty($v0132bb0bf9821bce1103f4db6ced0a5f) || sizeof($vdad8db09124c43be9156ca0e7596fc04) == 1)) { reset($vdad8db09124c43be9156ca0e7596fc04); $v5f694956811487225d15e973ca38fbab = $v9b81909fd0da3add2602a8d0ede0e4e7->getTypeByHierarchyTypeId(array_pop($vdad8db09124c43be9156ca0e7596fc04)); } else { $v5f694956811487225d15e973ca38fbab = $v9b81909fd0da3add2602a8d0ede0e4e7->getTypeIdByGUID('root-pages-type'); } } } if (empty($vc4feb6f9b5b1aa42ea49f74ecab346f9) && !empty($vdad8db09124c43be9156ca0e7596fc04) && empty($v0132bb0bf9821bce1103f4db6ced0a5f) && empty($v00ef6e359e66ade0706b8305550f7ea2)) { $v8be74552df93e31bbdd6b36ed74bdb6a->optimize_root_search_query = true; } else { if (!empty($v00ef6e359e66ade0706b8305550f7ea2)) { if ($vd663178671639336ce153c008ff6acef) { $v5f694956811487225d15e973ca38fbab = $v9b81909fd0da3add2602a8d0ede0e4e7->getTypeByHierarchyTypeId($vd663178671639336ce153c008ff6acef); } } } if ($v5f694956811487225d15e973ca38fbab) { $this->autoDetectFilters($v8be74552df93e31bbdd6b36ed74bdb6a, $v5f694956811487225d15e973ca38fbab); $this->autoDetectOrders($v8be74552df93e31bbdd6b36ed74bdb6a, $v5f694956811487225d15e973ca38fbab); } if (!$v38bceec7c944e9431e65bb5bb50cc5fa) { $v8be74552df93e31bbdd6b36ed74bdb6a->excludeNestedPages = true; } if (sizeof($vc4feb6f9b5b1aa42ea49f74ecab346f9) && sizeof($vdad8db09124c43be9156ca0e7596fc04)) { $v0715f6d9497f93911417c9c324265771 = $v1723bdd4ee51910267a625cae41ced8a->getTypeByName("comments", "comment")->getId(); $v8be74552df93e31bbdd6b36ed74bdb6a->addElementType($v0715f6d9497f93911417c9c324265771); } if (getRequest('import')) { quickCsvImporter::autoImport($v8be74552df93e31bbdd6b36ed74bdb6a, $v38bceec7c944e9431e65bb5bb50cc5fa, (bool) getRequest('force-hierarchy')); } if (getRequest('export')) { quickCsvExporter::autoExport($v8be74552df93e31bbdd6b36ed74bdb6a, (bool) getRequest('force-hierarchy')); } return true; }