public function applyKeyedFilters(umiSelection $sel, umiField $field, $values) { if (is_array($values) == false) { return false; } foreach ($values as $key => $value) { if (is_numeric($key) || $value === "") { return false; } $dataType = $field->getFieldType()->getDataType(); switch ($key) { case "eq": if (is_array($value)) { foreach ($value as $v) { $this->applyKeyedFilters($sel, $field, array($key => $v)); } break; } $value = $this->searchRelationValues($field, $value); if ($dataType == "date") { $value = strtotime(date("Y-m-d", $value)); $sel->addPropertyFilterBetween($field->getId(), $value, $value + 3600 * 24); break; } if ($dataType == "file" || $dataType == "img_file" || $dataType == "swf_file") { if ($value > 0) { $sel->addPropertyFilterIsNotNull($field->getId()); } else { $sel->addPropertyFilterIsNull($field->getId()); } } else { $sel->addPropertyFilterEqual($field->getId(), $value); } break; case "ne": $sel->addPropertyFilterNotEqual($field->getId(), $value); break; case "lt": $sel->addPropertyFilterLess($field->getId(), $value); break; case "gt": $sel->addPropertyFilterMore($field->getId(), $value); break; case "like": $value = $this->searchRelationValues($field, $value); if (is_array($value)) { foreach ($value as $val) { if ($val) { $sel->addPropertyFilterLike($field->getId(), $val); } } } else { $sel->addPropertyFilterLike($field->getId(), $value); } break; default: return false; } } return true; }
protected function prepareValue(umiField $v06e3d36fa30cea095545139854ad1fb9, $v5b57ab60c984eec4bc98143f6d1e8775) { $v833750ac635fcc57dc33ecafe365f9a7 = $v06e3d36fa30cea095545139854ad1fb9->getFieldType(); switch ($v833750ac635fcc57dc33ecafe365f9a7->getDataType()) { case 'relation': $result = preg_split('/, ?/', $v5b57ab60c984eec4bc98143f6d1e8775); foreach ($result as $v865c0c0b4ab0e063e5caa3387c1a8741 => $v3a6d0284e743dc4a9b86f97d6dd1a3bf) { if ($v3a6d0284e743dc4a9b86f97d6dd1a3bf) { $i18n = ulangStream::getI18n($v3a6d0284e743dc4a9b86f97d6dd1a3bf); $result[$v865c0c0b4ab0e063e5caa3387c1a8741] = $i18n ? $i18n : $v3a6d0284e743dc4a9b86f97d6dd1a3bf; } } return $result; case 'tags': return preg_split('/, ?/', $v5b57ab60c984eec4bc98143f6d1e8775); case 'int': return (int) $v5b57ab60c984eec4bc98143f6d1e8775; case 'float': case 'price': $v5b57ab60c984eec4bc98143f6d1e8775 = str_replace(",", ".", $v5b57ab60c984eec4bc98143f6d1e8775); return (double) $v5b57ab60c984eec4bc98143f6d1e8775; break; case 'date': if ($v5b57ab60c984eec4bc98143f6d1e8775) { return umiDate::getTimeStamp($v5b57ab60c984eec4bc98143f6d1e8775); } else { return false; } case 'file': case 'img_file': if (preg_match('/[а-яА-Я ]/', $v5b57ab60c984eec4bc98143f6d1e8775)) { $vc94af6eb0fecb9a2c23fb0c0cc496a8a = iconv('UTF-8', 'CP1251//IGNORE', $v5b57ab60c984eec4bc98143f6d1e8775); $v826e8142e6baabe8af779f5f490cf5f5 = CURRENT_WORKING_DIR . $v5b57ab60c984eec4bc98143f6d1e8775; $v1c1c96fd2cf8330db0bfa936ce82f3b9 = CURRENT_WORKING_DIR . $vc94af6eb0fecb9a2c23fb0c0cc496a8a; $v8c7dd922ad47494fc02c388e12c00eac = false; if (file_exists($v826e8142e6baabe8af779f5f490cf5f5)) { $v8c7dd922ad47494fc02c388e12c00eac = $v5b57ab60c984eec4bc98143f6d1e8775; } elseif (file_exists($v1c1c96fd2cf8330db0bfa936ce82f3b9)) { $v8c7dd922ad47494fc02c388e12c00eac = $vc94af6eb0fecb9a2c23fb0c0cc496a8a; } if ($v8c7dd922ad47494fc02c388e12c00eac) { $v5b57ab60c984eec4bc98143f6d1e8775 = str_replace('\\', '/', $v5b57ab60c984eec4bc98143f6d1e8775); $v13872c0118a4316afd1e99295017d654 = explode('/', $v5b57ab60c984eec4bc98143f6d1e8775); $vf9c644ef64dd78d73149e1ab33366203 = array(); if (count($v13872c0118a4316afd1e99295017d654) > 1) { $v5b063e275d506f65ebf1b02d926f19a4 = $v13872c0118a4316afd1e99295017d654[count($v13872c0118a4316afd1e99295017d654) - 1]; unset($v13872c0118a4316afd1e99295017d654[count($v13872c0118a4316afd1e99295017d654) - 1]); foreach ($v13872c0118a4316afd1e99295017d654 as $vf4c9385f1902f7334b00b9b4ecd164de) { if (preg_match('/[а-яА-Я]/', $vf4c9385f1902f7334b00b9b4ecd164de)) { $vf9c644ef64dd78d73149e1ab33366203[] = translit::convert($vf4c9385f1902f7334b00b9b4ecd164de); } else { $vf9c644ef64dd78d73149e1ab33366203[] = $vf4c9385f1902f7334b00b9b4ecd164de; } } } else { $v5b063e275d506f65ebf1b02d926f19a4 = $v13872c0118a4316afd1e99295017d654[0]; } $vcdb08918f90fcb2287e075a5336a46e4 = explode('.', $v5b063e275d506f65ebf1b02d926f19a4); $vabf77184f55403d75b9d51d79162a7ca = $vcdb08918f90fcb2287e075a5336a46e4[count($vcdb08918f90fcb2287e075a5336a46e4) - 1]; unset($vcdb08918f90fcb2287e075a5336a46e4[count($vcdb08918f90fcb2287e075a5336a46e4) - 1]); $vfa1954f632650a82482e1e712a853db0 = implode('.', $vcdb08918f90fcb2287e075a5336a46e4); if (preg_match('/[а-яА-Я]/', $vfa1954f632650a82482e1e712a853db0)) { $vfa1954f632650a82482e1e712a853db0 = translit::convert($vfa1954f632650a82482e1e712a853db0); } $vfa1954f632650a82482e1e712a853db0 .= '.' . $vabf77184f55403d75b9d51d79162a7ca; $vf9c644ef64dd78d73149e1ab33366203[] = $vfa1954f632650a82482e1e712a853db0; $v5b57ab60c984eec4bc98143f6d1e8775 = implode('/', $vf9c644ef64dd78d73149e1ab33366203); if (!(file_exists(dirname(CURRENT_WORKING_DIR . $v5b57ab60c984eec4bc98143f6d1e8775)) && is_dir(dirname(CURRENT_WORKING_DIR . $v5b57ab60c984eec4bc98143f6d1e8775)))) { mkdir(dirname(CURRENT_WORKING_DIR . $v5b57ab60c984eec4bc98143f6d1e8775), 0777, true); } rename(CURRENT_WORKING_DIR . $v8c7dd922ad47494fc02c388e12c00eac, CURRENT_WORKING_DIR . $v5b57ab60c984eec4bc98143f6d1e8775); } } if ($v5b57ab60c984eec4bc98143f6d1e8775 && substr($v5b57ab60c984eec4bc98143f6d1e8775, 0, 1) == '/') { $v5b57ab60c984eec4bc98143f6d1e8775 = '.' . $v5b57ab60c984eec4bc98143f6d1e8775; } return $v5b57ab60c984eec4bc98143f6d1e8775; case 'swf_file': if ($v5b57ab60c984eec4bc98143f6d1e8775 && substr($v5b57ab60c984eec4bc98143f6d1e8775, 0, 1) == '/') { $v5b57ab60c984eec4bc98143f6d1e8775 = '.' . $v5b57ab60c984eec4bc98143f6d1e8775; } return $v5b57ab60c984eec4bc98143f6d1e8775; default: return $v5b57ab60c984eec4bc98143f6d1e8775; } }
protected function parseValues(umiObject $va8cfde6331bd59eb2ac96f8911c4b666, umiField $v06e3d36fa30cea095545139854ad1fb9) { $v519504d7d4beb745dac24ccfb6c1d7c9 = $v06e3d36fa30cea095545139854ad1fb9->getFieldType(); $v5c4e252909242b24243818048235620d = (int) $v519504d7d4beb745dac24ccfb6c1d7c9->getIsMultiple(); $v983560f49ede87197144b22c810a5087 = (string) $v519504d7d4beb745dac24ccfb6c1d7c9->getDataType(); $vf09cc7ee3a9a93273f4b80601cafb00c = $va8cfde6331bd59eb2ac96f8911c4b666->getValue($v06e3d36fa30cea095545139854ad1fb9->getName()); $vf09cc7ee3a9a93273f4b80601cafb00c = is_array($vf09cc7ee3a9a93273f4b80601cafb00c) ? $vf09cc7ee3a9a93273f4b80601cafb00c : array($vf09cc7ee3a9a93273f4b80601cafb00c); switch ($v983560f49ede87197144b22c810a5087) { case "img_file": $vde5b1cd11c4544e7f3fe792f2e0d8b8b = array(); foreach ($vf09cc7ee3a9a93273f4b80601cafb00c as $vf19e92e810d08b6cf2d0265b779064d9) { if (!$vf19e92e810d08b6cf2d0265b779064d9) { continue; } $vde5b1cd11c4544e7f3fe792f2e0d8b8b[] = array("value" => $vf19e92e810d08b6cf2d0265b779064d9->getFilePath()); } break; case "relation": $vde5b1cd11c4544e7f3fe792f2e0d8b8b = array(); foreach ($vf09cc7ee3a9a93273f4b80601cafb00c as $vf19e92e810d08b6cf2d0265b779064d9) { $vf19e92e810d08b6cf2d0265b779064d9 = umiObjectsCollection::getInstance()->getObject($vf19e92e810d08b6cf2d0265b779064d9); if (!$vf19e92e810d08b6cf2d0265b779064d9) { continue; } $v818ad5ef6588e140ecb9f81e810c028a = $vf19e92e810d08b6cf2d0265b779064d9->getId(); if (!in_array($v818ad5ef6588e140ecb9f81e810c028a, $this->objects)) { $this->objects[] = $v818ad5ef6588e140ecb9f81e810c028a; } $vde5b1cd11c4544e7f3fe792f2e0d8b8b[] = array("value" => $vf19e92e810d08b6cf2d0265b779064d9->getName(), "id" => $vf19e92e810d08b6cf2d0265b779064d9->getId()); } break; case "symlink": $vde5b1cd11c4544e7f3fe792f2e0d8b8b = array(); foreach ($vf09cc7ee3a9a93273f4b80601cafb00c as $vf19e92e810d08b6cf2d0265b779064d9) { if (!$vf19e92e810d08b6cf2d0265b779064d9) { continue; } $vde5b1cd11c4544e7f3fe792f2e0d8b8b[] = array("value" => $vf19e92e810d08b6cf2d0265b779064d9->getName(), "id" => $vf19e92e810d08b6cf2d0265b779064d9->getId(), "link" => $this->getDomainPath() . umiHierarchy::getInstance()->getPathById($vf19e92e810d08b6cf2d0265b779064d9->getId())); } break; case "date": $vde5b1cd11c4544e7f3fe792f2e0d8b8b = array(); foreach ($vf09cc7ee3a9a93273f4b80601cafb00c as $vf19e92e810d08b6cf2d0265b779064d9) { if (!$vf19e92e810d08b6cf2d0265b779064d9) { continue; } $vde5b1cd11c4544e7f3fe792f2e0d8b8b[] = array("timestamp" => $vf19e92e810d08b6cf2d0265b779064d9->getFormattedDate("U"), "RFC" => $vf19e92e810d08b6cf2d0265b779064d9->getFormattedDate("r"), "UTC" => $vf19e92e810d08b6cf2d0265b779064d9->getFormattedDate(DATE_ATOM)); } break; default: $vde5b1cd11c4544e7f3fe792f2e0d8b8b = array(); foreach ($vf09cc7ee3a9a93273f4b80601cafb00c as $vf19e92e810d08b6cf2d0265b779064d9) { $vde5b1cd11c4544e7f3fe792f2e0d8b8b[] = array("value" => $vf19e92e810d08b6cf2d0265b779064d9, "id" => NULL); } break; } $vf09cc7ee3a9a93273f4b80601cafb00c = ""; foreach ($vde5b1cd11c4544e7f3fe792f2e0d8b8b as $v3a6d0284e743dc4a9b86f97d6dd1a3bf) { if (array_key_exists('value', $v3a6d0284e743dc4a9b86f97d6dd1a3bf)) { $v2063c1608d6e0baf80249c42e2be5804 = $v3a6d0284e743dc4a9b86f97d6dd1a3bf['value']; } if (array_key_exists('id', $v3a6d0284e743dc4a9b86f97d6dd1a3bf)) { if (array_key_exists('timestamp', $v3a6d0284e743dc4a9b86f97d6dd1a3bf)) { $vf09cc7ee3a9a93273f4b80601cafb00c .= <<<END \t\t\t\t\t\t\t<value> \t\t\t\t\t\t\t\t<timestamp><![CDATA[{$v3a6d0284e743dc4a9b86f97d6dd1a3bf['timestamp']}]]></timestamp> \t\t\t\t\t\t\t\t<RFC><![CDATA[{$v3a6d0284e743dc4a9b86f97d6dd1a3bf['RFC']}]]></RFC> \t\t\t\t\t\t\t\t<UTC><![CDATA[{$v3a6d0284e743dc4a9b86f97d6dd1a3bf['UTC']}]]></UTC> \t\t\t\t\t\t\t</value> END; } else { $v7ffc4d510260a8544e5550e62ec56bc1 = !is_null($v3a6d0284e743dc4a9b86f97d6dd1a3bf['id']) ? ' id="' . $v3a6d0284e743dc4a9b86f97d6dd1a3bf['id'] . '"' : ''; $vf09cc7ee3a9a93273f4b80601cafb00c .= <<<END \t\t\t\t\t\t\t<value{$v7ffc4d510260a8544e5550e62ec56bc1}><![CDATA[{$v2063c1608d6e0baf80249c42e2be5804}]]></value> END; } } else { if (array_key_exists('timestamp', $v3a6d0284e743dc4a9b86f97d6dd1a3bf)) { $vf09cc7ee3a9a93273f4b80601cafb00c .= <<<END \t\t\t\t\t\t\t<value> \t\t\t\t\t\t\t\t<timestamp><![CDATA[{$v3a6d0284e743dc4a9b86f97d6dd1a3bf['timestamp']}]]></timestamp> \t\t\t\t\t\t\t\t<RFC><![CDATA[{$v3a6d0284e743dc4a9b86f97d6dd1a3bf['RFC']}]]></RFC> \t\t\t\t\t\t\t\t<UTC><![CDATA[{$v3a6d0284e743dc4a9b86f97d6dd1a3bf['UTC']}]]></UTC> \t\t\t\t\t\t\t</value> END; } else { $vf09cc7ee3a9a93273f4b80601cafb00c .= <<<END \t\t\t\t\t\t\t<value><![CDATA[{$v2063c1608d6e0baf80249c42e2be5804}]]></value> END; } if (!array_key_exists('value', $v3a6d0284e743dc4a9b86f97d6dd1a3bf)) { continue; } if (array_key_exists('timestamp', $v3a6d0284e743dc4a9b86f97d6dd1a3bf)) { $vb80bb7740288fda1f201890375a60c8f = $v3a6d0284e743dc4a9b86f97d6dd1a3bf['id']; $v2a304a1348456ccd2234cd71a81bd338 = array_key_exists("link", $v3a6d0284e743dc4a9b86f97d6dd1a3bf) ? " link=\"{$v3a6d0284e743dc4a9b86f97d6dd1a3bf['link']}\"" : ""; $vf09cc7ee3a9a93273f4b80601cafb00c .= <<<END \t\t\t\t\t\t\t<value id="{$vb80bb7740288fda1f201890375a60c8f}"{$v2a304a1348456ccd2234cd71a81bd338}><![CDATA[{$v2063c1608d6e0baf80249c42e2be5804}]]></value> END; } } } unset($vde5b1cd11c4544e7f3fe792f2e0d8b8b); return $vf09cc7ee3a9a93273f4b80601cafb00c; }