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;
     }
 }
Example #2
0
 public function rename()
 {
     $s_path = $this->getCurrentPath();
     if (defined("CURRENT_VERSION_LINE") && CURRENT_VERSION_LINE == "demo") {
         $this->chooseRedirect('/admin/filemanager/directory_list/?dir=' . base64_encode($s_path));
         return false;
     }
     $s_old_name = getRequest('old_name');
     $s_new_name = getRequest('new_name');
     if (!$this->checkIsAllowedPath($s_path . "/" . $s_old_name)) {
         throw new publicAdminException(getLabel('error-fs-not-allowed'));
     }
     $s_new_name_arr = explode(".", $s_new_name);
     foreach ($s_new_name_arr as &$sn) {
         $sn = translit::convert($sn);
     }
     $s_new_name = implode(".", $s_new_name_arr);
     if (strlen($s_path) && strlen($s_old_name) && strlen($s_new_name)) {
         if (file_exists($s_path . "/" . $s_old_name) && !file_exists($s_path . "/" . $s_new_name)) {
             // try rename
             if (@rename($s_path . "/" . $s_old_name, $s_path . "/" . $s_new_name) === false) {
                 throw new publicAdminException(getLabel('error-cant-rename-dir'));
             } else {
                 $typesCollection = umiObjectTypesCollection::getInstance();
                 $objectsCollection = umiObjectsCollection::getInstance();
                 $selection = new umiSelection();
                 $typeId = $typesCollection->getBaseType("filemanager", "shared_file");
                 $type = $typesCollection->getType($typeId);
                 $selection->addObjectType($typeId);
                 $selection->addPropertyFilterLike($type->getFieldId('fs_file'), './' . $s_path . "/" . $s_old_name);
                 $sfiles = umiSelectionsParser::runSelection($selection);
                 foreach ($sfiles as $sfileId) {
                     if ($file = $objectsCollection->getObject($sfileId)) {
                         $file->setValue('fs_file', new umiFile('./' . $s_path . "/" . $s_new_name));
                     }
                 }
             }
         }
     }
     $this->chooseRedirect('/admin/filemanager/directory_list/?dir=' . base64_encode($s_path));
 }
Example #3
0
 public static function upload_zip($v86536e21993c5a96a4d4c9c9afcc9b17, $v8c7dd922ad47494fc02c388e12c00eac = "", $v851148b4fd8fd7ae74bd9100c5c0c898 = "./images/cms/data/", $v043f01e8ecc376fc15ecb17504a1f05e = false)
 {
     if ($v8c7dd922ad47494fc02c388e12c00eac == "") {
         $ve440be6a92dba11caa790215081671ae = $v86536e21993c5a96a4d4c9c9afcc9b17['tmp_name'];
         $vb068931cc450442b63f5b3d276ea4297 = $v86536e21993c5a96a4d4c9c9afcc9b17['name'];
         list(, , $v566bbee0f961ad71b54c3c2fd36db053) = array_values(getPathInfo($vb068931cc450442b63f5b3d276ea4297));
         $vb068931cc450442b63f5b3d276ea4297 = substr($vb068931cc450442b63f5b3d276ea4297, 0, strlen($vb068931cc450442b63f5b3d276ea4297) - strlen($v566bbee0f961ad71b54c3c2fd36db053));
         $vb068931cc450442b63f5b3d276ea4297 = translit::convert($vb068931cc450442b63f5b3d276ea4297);
         $vb068931cc450442b63f5b3d276ea4297 .= "." . $v566bbee0f961ad71b54c3c2fd36db053;
         $v9024b204fb4c4ffdd07ee631ed791f75 = $v851148b4fd8fd7ae74bd9100c5c0c898 . $vb068931cc450442b63f5b3d276ea4297;
         $v51b7b5d0a5d6f26dc31ce613f4966356 = CURRENT_WORKING_DIR . "/sys-temp/uploads";
         if (!is_dir($v51b7b5d0a5d6f26dc31ce613f4966356)) {
             mkdir($v51b7b5d0a5d6f26dc31ce613f4966356);
         }
         $v3cc7992a6d5b20ce784f6169f4423048 = $v51b7b5d0a5d6f26dc31ce613f4966356 . '/' . $vb068931cc450442b63f5b3d276ea4297;
         if ($v86536e21993c5a96a4d4c9c9afcc9b17['size'] == 0) {
             return false;
         }
         if (is_uploaded_file($ve440be6a92dba11caa790215081671ae)) {
             $v9024b204fb4c4ffdd07ee631ed791f75 = umiFile::getUnconflictPath($v9024b204fb4c4ffdd07ee631ed791f75);
             if (move_uploaded_file($ve440be6a92dba11caa790215081671ae, $v3cc7992a6d5b20ce784f6169f4423048)) {
                 chmod($v3cc7992a6d5b20ce784f6169f4423048, self::$mask);
             } else {
                 return false;
             }
         } else {
             return false;
         }
     } else {
         $v8c7dd922ad47494fc02c388e12c00eac = CURRENT_WORKING_DIR . "/" . $v8c7dd922ad47494fc02c388e12c00eac;
         if (!file_exists($v8c7dd922ad47494fc02c388e12c00eac) || !is_writable($v8c7dd922ad47494fc02c388e12c00eac)) {
             return "File not exists!";
         }
         $ve6223bee17b330d9aed62e68463e0515 = getPathInfo($v8c7dd922ad47494fc02c388e12c00eac);
         if ($ve6223bee17b330d9aed62e68463e0515['extension'] != "zip") {
             return "It's not zip-file!";
         }
         $v9024b204fb4c4ffdd07ee631ed791f75 = $v8c7dd922ad47494fc02c388e12c00eac;
         $v3cc7992a6d5b20ce784f6169f4423048 = $v8c7dd922ad47494fc02c388e12c00eac;
     }
     $vcedff02a1ddad18efd0b59b7b09e0eb5 = self::$addWaterMark;
     self::$addWaterMark = $v043f01e8ecc376fc15ecb17504a1f05e;
     $v888d0ee361af3603736f32131e7b20a2 = new PclZip($v3cc7992a6d5b20ce784f6169f4423048);
     $v10ae9fc7d453b0dd525d0edf2ede7961 = $v888d0ee361af3603736f32131e7b20a2->listContent();
     if (count($v10ae9fc7d453b0dd525d0edf2ede7961) < 1) {
         throw new publicAdminException(getLabel('zip-file-empty'));
     }
     $v79001f389eb5f5185f6945430cb57be1 = cmsController::getInstance()->getModule('data')->getAllowedMaxFileSize();
     $ve6a7ab42343e8bc9131d89646abcb773 = regedit::getInstance()->getVal("//settings/max_img_filesize");
     if (!$ve6a7ab42343e8bc9131d89646abcb773) {
         $ve6a7ab42343e8bc9131d89646abcb773 = $v79001f389eb5f5185f6945430cb57be1;
     }
     $ve6a7ab42343e8bc9131d89646abcb773 = $ve6a7ab42343e8bc9131d89646abcb773 * 1024 * 1024;
     $va80da1282f2c775bbc5f2c92c836968b = 0;
     foreach ($v10ae9fc7d453b0dd525d0edf2ede7961 as $v3c6e0b8a9c15224a8228b9a98ca1531d => $v8a8e67a18097123aaa2495f5465224da) {
         $v566bbee0f961ad71b54c3c2fd36db053 = strtolower(preg_replace('/^[^.]*\\./', '', $v8a8e67a18097123aaa2495f5465224da['filename']));
         if (!umiFile::isAllowedImageType($v566bbee0f961ad71b54c3c2fd36db053)) {
             unset($v10ae9fc7d453b0dd525d0edf2ede7961[$v3c6e0b8a9c15224a8228b9a98ca1531d]);
             continue;
         }
         if ($v8a8e67a18097123aaa2495f5465224da['size'] > $ve6a7ab42343e8bc9131d89646abcb773) {
             throw new publicAdminException(getLabel('zip-file-image-max-size') . "{$v8a8e67a18097123aaa2495f5465224da['filename']}");
         }
         $va80da1282f2c775bbc5f2c92c836968b += $v8a8e67a18097123aaa2495f5465224da['size'];
     }
     if (count($v10ae9fc7d453b0dd525d0edf2ede7961) < 1) {
         throw new publicAdminException(getLabel('zip-file-images-absent'));
     }
     if (!checkAllowedDiskSize($va80da1282f2c775bbc5f2c92c836968b)) {
         throw new publicAdminException(getLabel('zip-file-images-no-free-size'));
     }
     $v10ae9fc7d453b0dd525d0edf2ede7961 = $v888d0ee361af3603736f32131e7b20a2->extract(PCLZIP_OPT_PATH, $v851148b4fd8fd7ae74bd9100c5c0c898, PCLZIP_CB_PRE_EXTRACT, "callbackPreExtract", PCLZIP_CB_POST_EXTRACT, "callbackPostExtract", PCLZIP_OPT_REMOVE_ALL_PATH);
     self::$addWaterMark = $vcedff02a1ddad18efd0b59b7b09e0eb5;
     if (!is_array($v10ae9fc7d453b0dd525d0edf2ede7961)) {
         throw new coreException("Zip extracting error: " . $v888d0ee361af3603736f32131e7b20a2->errorInfo(true));
     }
     if (is_writable($v3cc7992a6d5b20ce784f6169f4423048)) {
         unlink($v3cc7992a6d5b20ce784f6169f4423048);
     }
     return $v10ae9fc7d453b0dd525d0edf2ede7961;
 }
 protected function importPropValue(umiEntinty $vf5e638cc78dd325906c1298a0c21fb6b, DOMElement $vcaf9b6b99962bf5c2264824231d7a40c, $vd08e820fd4eb48eede47aa5985d10cc8 = false)
 {
     $v3a229433643cf8ea25f2a9b198ea70d8 = $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('name');
     $vb068931cc450442b63f5b3d276ea4297 = self::translateName($v3a229433643cf8ea25f2a9b198ea70d8);
     $v1a13105b7e4eb5fb2e7c9515ac06aa48 = $this->parser->evaluate("value", $vcaf9b6b99962bf5c2264824231d7a40c);
     if (!$v1a13105b7e4eb5fb2e7c9515ac06aa48->length && $vd08e820fd4eb48eede47aa5985d10cc8) {
         $v1a13105b7e4eb5fb2e7c9515ac06aa48 = $this->parser->evaluate("default-value", $vcaf9b6b99962bf5c2264824231d7a40c);
     }
     if (!$v1a13105b7e4eb5fb2e7c9515ac06aa48->length) {
         if ($vd08e820fd4eb48eede47aa5985d10cc8) {
             $this->reportError($this->getLabel('label-property') . " \"{$vb068931cc450442b63f5b3d276ea4297}\" " . $this->getLabel('label-has-no-values'));
         }
         return false;
     }
     $v67236e502346412a98a0bb965b7a59e6 = $v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0);
     $v94757cae63fd3e398c0811a976dd6bbe = $vf5e638cc78dd325906c1298a0c21fb6b instanceof umiHierarchyElement ? $vf5e638cc78dd325906c1298a0c21fb6b->getObjectTypeId() : $vf5e638cc78dd325906c1298a0c21fb6b->getTypeId();
     $v599dcce2998a6b40b1e38e8c6006cb0a = umiObjectTypesCollection::getInstance()->getType($v94757cae63fd3e398c0811a976dd6bbe);
     $v3aabf39f2d943fa886d86dcbbee4d910 = $v599dcce2998a6b40b1e38e8c6006cb0a->getFieldId($vb068931cc450442b63f5b3d276ea4297, false);
     $v06e3d36fa30cea095545139854ad1fb9 = umiFieldsCollection::getInstance()->getField($v3aabf39f2d943fa886d86dcbbee4d910);
     if (!$v06e3d36fa30cea095545139854ad1fb9 instanceof umiField && $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('allow-runtime-add') == '1') {
         $v562feb4548b66febf02774b4f339552e = $vcaf9b6b99962bf5c2264824231d7a40c->parentNode;
         $vdb0f6f37ebeb6ea09489124345af2a45 = $this->importTypeGroup($v599dcce2998a6b40b1e38e8c6006cb0a, $v562feb4548b66febf02774b4f339552e, false);
         if (!$vdb0f6f37ebeb6ea09489124345af2a45 instanceof umiFieldsGroup) {
             return false;
         }
         $v06e3d36fa30cea095545139854ad1fb9 = $this->importField($vdb0f6f37ebeb6ea09489124345af2a45, $vcaf9b6b99962bf5c2264824231d7a40c);
         $vf5e638cc78dd325906c1298a0c21fb6b instanceof umiHierarchyElement ? $vf5e638cc78dd325906c1298a0c21fb6b->getObject()->update() : $vf5e638cc78dd325906c1298a0c21fb6b->update();
     }
     if (!$v06e3d36fa30cea095545139854ad1fb9 instanceof umiField) {
         return false;
     }
     switch ($v06e3d36fa30cea095545139854ad1fb9->getDataType()) {
         case "optioned":
         case "symlink":
             return false;
         case "date":
             $vd7e6d55ba379a13d08c25d15faf2a23b = intval($v67236e502346412a98a0bb965b7a59e6->getAttribute('unix-timestamp'));
             $v8059f160e1aa1f9d3921049ce93b00e1 = new umiDate();
             if ($vd7e6d55ba379a13d08c25d15faf2a23b) {
                 $v8059f160e1aa1f9d3921049ce93b00e1->setDateByTimeStamp($vd7e6d55ba379a13d08c25d15faf2a23b);
             } else {
                 $v8059f160e1aa1f9d3921049ce93b00e1->setDateByString($v67236e502346412a98a0bb965b7a59e6->nodeValue);
             }
             $vf5e638cc78dd325906c1298a0c21fb6b->setValue($vb068931cc450442b63f5b3d276ea4297, $v8059f160e1aa1f9d3921049ce93b00e1);
             break;
         case "price":
             $vfcaea7edd270964cc145ea48e4367d43 = cmsController::getInstance()->getModule('emarket');
             $v78a5eb43deef9a7b5b9ce157b9d52ac4 = $v67236e502346412a98a0bb965b7a59e6->nodeValue;
             $v78a5eb43deef9a7b5b9ce157b9d52ac4 = str_replace(',', '.', $v78a5eb43deef9a7b5b9ce157b9d52ac4);
             $v78a5eb43deef9a7b5b9ce157b9d52ac4 = floatval(preg_replace("/[^0-9.,]/", "", $v78a5eb43deef9a7b5b9ce157b9d52ac4));
             $v52e3817fff5250b5391ef85b1ce23bdb = $v67236e502346412a98a0bb965b7a59e6->hasAttribute('currency-code') ? $v67236e502346412a98a0bb965b7a59e6->getAttribute('currency-code') : $v67236e502346412a98a0bb965b7a59e6->getAttribute('currency_code');
             if (strlen($v52e3817fff5250b5391ef85b1ce23bdb) && $vfcaea7edd270964cc145ea48e4367d43) {
                 $v1af0389838508d7016a9841eb6273962 = $vfcaea7edd270964cc145ea48e4367d43->getCurrency($v52e3817fff5250b5391ef85b1ce23bdb);
                 if ($v1af0389838508d7016a9841eb6273962) {
                     $result = $vfcaea7edd270964cc145ea48e4367d43->formatCurrencyPrice(array($v78a5eb43deef9a7b5b9ce157b9d52ac4), $vfcaea7edd270964cc145ea48e4367d43->getDefaultCurrency(), $v1af0389838508d7016a9841eb6273962);
                     $v78a5eb43deef9a7b5b9ce157b9d52ac4 = $result[0];
                 }
             }
             $vf5e638cc78dd325906c1298a0c21fb6b->setValue($vb068931cc450442b63f5b3d276ea4297, $v78a5eb43deef9a7b5b9ce157b9d52ac4);
             break;
         case "file":
         case "img_file":
         case "video_file":
         case "swf_file":
             if ($this->renameFiles) {
                 $v9d22547e12eafcfadf56ff88b9d67f4d = false;
                 $vf83cd85f6404a7018af0fcf071f35751 = $vf5e638cc78dd325906c1298a0c21fb6b->getValue($vb068931cc450442b63f5b3d276ea4297);
                 if ($vf83cd85f6404a7018af0fcf071f35751 instanceof umiFile) {
                     $v9d22547e12eafcfadf56ff88b9d67f4d = $vf83cd85f6404a7018af0fcf071f35751->getFilePath();
                 }
                 $vbf0e61d0f411b035bf846149824fe352 = ltrim(trim($v67236e502346412a98a0bb965b7a59e6->nodeValue, "\r\n"), ".");
                 $v435ed7e9f07f740abf511a62c00eef6e = basename($vbf0e61d0f411b035bf846149824fe352);
                 $v736007832d2167baaae763fd3a3f3cf1 = dirname($vbf0e61d0f411b035bf846149824fe352);
                 $vabf77184f55403d75b9d51d79162a7ca = explode(".", $v435ed7e9f07f740abf511a62c00eef6e);
                 $vabf77184f55403d75b9d51d79162a7ca = end($vabf77184f55403d75b9d51d79162a7ca);
                 $vd70819bac4952f91adc9954c5b055aca = translit::convert(trim($vf5e638cc78dd325906c1298a0c21fb6b->getName(), "\r\n"));
                 $v435ed7e9f07f740abf511a62c00eef6e = $vd70819bac4952f91adc9954c5b055aca;
                 $ve2942a04780e223b215eb8b663cf5353 = 0;
                 $v149603e6c03516362a8da23f624db945 = error_reporting(0);
                 while (true) {
                     if (!file_exists(CURRENT_WORKING_DIR . '/' . $vbf0e61d0f411b035bf846149824fe352)) {
                         break 2;
                     } else {
                         if ($v9d22547e12eafcfadf56ff88b9d67f4d) {
                             $v46cd4eff50a3aca89f0fbc7ea6a79453 = CURRENT_WORKING_DIR . ltrim($v9d22547e12eafcfadf56ff88b9d67f4d, ".");
                             if (file_exists($v46cd4eff50a3aca89f0fbc7ea6a79453)) {
                                 unlink($v46cd4eff50a3aca89f0fbc7ea6a79453);
                             }
                         }
                     }
                     if (!file_exists(CURRENT_WORKING_DIR . '/' . $v736007832d2167baaae763fd3a3f3cf1 . '/' . $v435ed7e9f07f740abf511a62c00eef6e . '.' . $vabf77184f55403d75b9d51d79162a7ca)) {
                         break;
                     }
                     $ve2942a04780e223b215eb8b663cf5353++;
                     $v435ed7e9f07f740abf511a62c00eef6e = $vd70819bac4952f91adc9954c5b055aca . '_' . $ve2942a04780e223b215eb8b663cf5353;
                 }
                 $v435ed7e9f07f740abf511a62c00eef6e .= '.' . $vabf77184f55403d75b9d51d79162a7ca;
                 rename(CURRENT_WORKING_DIR . '/' . $vbf0e61d0f411b035bf846149824fe352, CURRENT_WORKING_DIR . '/' . $v736007832d2167baaae763fd3a3f3cf1 . '/' . $v435ed7e9f07f740abf511a62c00eef6e);
                 error_reporting($v149603e6c03516362a8da23f624db945);
                 $vbf0e61d0f411b035bf846149824fe352 = '.' . $v736007832d2167baaae763fd3a3f3cf1 . '/' . $v435ed7e9f07f740abf511a62c00eef6e;
                 $vf5e638cc78dd325906c1298a0c21fb6b->setValue($vb068931cc450442b63f5b3d276ea4297, $vbf0e61d0f411b035bf846149824fe352);
             } else {
                 $v47826cacc65c665212b821e6ff80b9b0 = ltrim(trim($v67236e502346412a98a0bb965b7a59e6->nodeValue, "\r\n"), ".");
                 $vf5e638cc78dd325906c1298a0c21fb6b->setValue($vb068931cc450442b63f5b3d276ea4297, "." . $v47826cacc65c665212b821e6ff80b9b0);
             }
             break;
         case "relation":
             if ($this->auto_guide_creation) {
                 if ($vb068931cc450442b63f5b3d276ea4297 == 'payment_status_id' && $v599dcce2998a6b40b1e38e8c6006cb0a->getMethod() == 'order') {
                     $vfcaea7edd270964cc145ea48e4367d43 = cmsController::getInstance()->getModule('emarket');
                     if ($vfcaea7edd270964cc145ea48e4367d43) {
                         umiObjectProperty::$USE_FORCE_OBJECTS_CREATION = false;
                         $v903931b3a9d25a70683f51ab9d363d2e = $v67236e502346412a98a0bb965b7a59e6->nodeValue;
                         $v70a17ffa722a3985b86d30b034ad06d7 = order::get($vf5e638cc78dd325906c1298a0c21fb6b->id);
                         $v70a17ffa722a3985b86d30b034ad06d7->setPaymentStatus($v903931b3a9d25a70683f51ab9d363d2e);
                         $v70a17ffa722a3985b86d30b034ad06d7->commit();
                         umiObjectProperty::$USE_FORCE_OBJECTS_CREATION = true;
                     }
                 } elseif ($vb068931cc450442b63f5b3d276ea4297 == 'status_id' && $v599dcce2998a6b40b1e38e8c6006cb0a->getMethod() == 'order') {
                     $vfcaea7edd270964cc145ea48e4367d43 = cmsController::getInstance()->getModule('emarket');
                     if ($vfcaea7edd270964cc145ea48e4367d43) {
                         $v903931b3a9d25a70683f51ab9d363d2e = $v67236e502346412a98a0bb965b7a59e6->nodeValue;
                         $v70a17ffa722a3985b86d30b034ad06d7 = order::get($vf5e638cc78dd325906c1298a0c21fb6b->id);
                         $vc8db1069270b4aad8a8d03a1d939bc26 = $v70a17ffa722a3985b86d30b034ad06d7->getOrderStatus();
                         $vf48da84a2621e8cad36af3c0af958502 = $v70a17ffa722a3985b86d30b034ad06d7->getCodeByStatus($vc8db1069270b4aad8a8d03a1d939bc26);
                         if (!in_array($vf48da84a2621e8cad36af3c0af958502, array('ready', 'canceled', 'rejected'))) {
                             umiObjectProperty::$USE_FORCE_OBJECTS_CREATION = false;
                             $v70a17ffa722a3985b86d30b034ad06d7->setOrderStatus($v903931b3a9d25a70683f51ab9d363d2e);
                             $v70a17ffa722a3985b86d30b034ad06d7->commit();
                             umiObjectProperty::$USE_FORCE_OBJECTS_CREATION = true;
                         }
                     }
                 } else {
                     $v691d502cfd0e0626cd3b058e5682ad1c = array();
                     $v1a13105b7e4eb5fb2e7c9515ac06aa48 = $v67236e502346412a98a0bb965b7a59e6->getElementsByTagName("item");
                     foreach ($v1a13105b7e4eb5fb2e7c9515ac06aa48 as $ve795119eccc6565f098fca8454bad366) {
                         $v691d502cfd0e0626cd3b058e5682ad1c[] = $ve795119eccc6565f098fca8454bad366->getAttribute('name');
                     }
                     $vf5e638cc78dd325906c1298a0c21fb6b->setValue($vb068931cc450442b63f5b3d276ea4297, $v691d502cfd0e0626cd3b058e5682ad1c);
                 }
             }
             break;
         case "tags":
             $v1a13105b7e4eb5fb2e7c9515ac06aa48 = $this->parser->evaluate("combined", $vcaf9b6b99962bf5c2264824231d7a40c);
             if ($v67236e502346412a98a0bb965b7a59e6 = $v1a13105b7e4eb5fb2e7c9515ac06aa48->item(0)) {
                 $vf5e638cc78dd325906c1298a0c21fb6b->setValue($vb068931cc450442b63f5b3d276ea4297, trim($v67236e502346412a98a0bb965b7a59e6->nodeValue, "\r\n"));
             }
             break;
         case "string":
         case "text":
         case "wysiwyg":
         case "boolean":
         case "counter":
         case "float":
         case "int":
             if ($vb068931cc450442b63f5b3d276ea4297 == 'payment_type_id' || $vb068931cc450442b63f5b3d276ea4297 == 'modificator_type_id' || $vb068931cc450442b63f5b3d276ea4297 == 'rule_type_id' || $vb068931cc450442b63f5b3d276ea4297 == 'delivery_type_id') {
                 $v7f7cfde5ec586119b48911a2c75851e5 = $this->relations->getNewTypeIdRelation($this->source_id, $v67236e502346412a98a0bb965b7a59e6->nodeValue);
                 if ($v7f7cfde5ec586119b48911a2c75851e5) {
                     $vf5e638cc78dd325906c1298a0c21fb6b->setValue($vb068931cc450442b63f5b3d276ea4297, $v7f7cfde5ec586119b48911a2c75851e5);
                 }
                 break;
             }
         default:
             $vf5e638cc78dd325906c1298a0c21fb6b->setValue($vb068931cc450442b63f5b3d276ea4297, trim($v67236e502346412a98a0bb965b7a59e6->nodeValue, "\r\n"));
             break;
     }
 }
 protected function addMissedProps(&$v691b2ea4f2db17699a29da0c302a91ea, $v82e85d12802becdae851373fcc70c4ff, $v2741adf691b2acf0359a6a73234bc605)
 {
     if (strlen($v2741adf691b2acf0359a6a73234bc605)) {
         $v87306dd4235ed712ebc07fe169b76f83 = umiImportRelations::getInstance()->getNewTypeIdRelation($this->source_id, $v2741adf691b2acf0359a6a73234bc605);
     } else {
         $v87306dd4235ed712ebc07fe169b76f83 = $v691b2ea4f2db17699a29da0c302a91ea->getObject()->getTypeId();
     }
     $v7ae7003da59ae71dcc9f8638ef50593d = umiObjectTypesCollection::getInstance()->getType($v87306dd4235ed712ebc07fe169b76f83);
     foreach ($v82e85d12802becdae851373fcc70c4ff as $v6184026d3eb247fb90d471744679ece5) {
         $v2726ffa1d364725a0e3166638138e8e7 = $v6184026d3eb247fb90d471744679ece5['prop_block_title'];
         $vdf8958b8370cd74e1a8c33230a569b10 = $v6184026d3eb247fb90d471744679ece5['prop_block_name'];
         $ve41aac3b363ca7b963226f92ecda32d5 = $v6184026d3eb247fb90d471744679ece5['prop_block_is_public'];
         if (!$vdf8958b8370cd74e1a8c33230a569b10) {
             if ($v2726ffa1d364725a0e3166638138e8e7) {
                 $vdf8958b8370cd74e1a8c33230a569b10 = translit::convert($v2726ffa1d364725a0e3166638138e8e7);
             } else {
                 $v2726ffa1d364725a0e3166638138e8e7 = "Imported fields group";
                 $vdf8958b8370cd74e1a8c33230a569b10 = "imported";
             }
         }
         if ($v216c92e7f92d45ebbf45c075ceae8c05 = $v7ae7003da59ae71dcc9f8638ef50593d->getFieldsGroupByName($vdf8958b8370cd74e1a8c33230a569b10)) {
         } else {
             $vb2cd255a43fd56eb1b203b521fa0ef69 = $v7ae7003da59ae71dcc9f8638ef50593d->addFieldsGroup($vdf8958b8370cd74e1a8c33230a569b10, $vdf8958b8370cd74e1a8c33230a569b10, true, $ve41aac3b363ca7b963226f92ecda32d5);
             $v216c92e7f92d45ebbf45c075ceae8c05 = $v7ae7003da59ae71dcc9f8638ef50593d->getFieldsGroup($vb2cd255a43fd56eb1b203b521fa0ef69);
             $v216c92e7f92d45ebbf45c075ceae8c05->setTitle($v2726ffa1d364725a0e3166638138e8e7);
             $v216c92e7f92d45ebbf45c075ceae8c05->commit();
         }
         if (!$v6184026d3eb247fb90d471744679ece5['field_type']) {
             $v6184026d3eb247fb90d471744679ece5['field_type'] = "string";
         }
         $v1e3f04102267eaf5e8d0ca424fd5c561 = $this->getFieldTypeId($v6184026d3eb247fb90d471744679ece5['field_type'], $v6184026d3eb247fb90d471744679ece5['is_multiple']);
         if ($v1e3f04102267eaf5e8d0ca424fd5c561 === false) {
             continue;
         }
         $v6184026d3eb247fb90d471744679ece5['name'] = (string) $v6184026d3eb247fb90d471744679ece5['name'];
         if (!$v6184026d3eb247fb90d471744679ece5['name']) {
             $v6184026d3eb247fb90d471744679ece5['name'] = translit::convert($v6184026d3eb247fb90d471744679ece5['title']);
         }
         $v6184026d3eb247fb90d471744679ece5['name'] = translit::convert($v6184026d3eb247fb90d471744679ece5['name']);
         if ($v87306dd4235ed712ebc07fe169b76f83) {
             if (umiImportRelations::getInstance()->getNewFieldId($this->source_id, $v87306dd4235ed712ebc07fe169b76f83, $v6184026d3eb247fb90d471744679ece5['name'])) {
                 continue;
             }
         }
         if ($v6184026d3eb247fb90d471744679ece5['field_type'] == "relation") {
             $v051369818a8073bba5feeb0e957eb308 = self::getAutoGuideId($v6184026d3eb247fb90d471744679ece5['title']);
         } else {
             $v051369818a8073bba5feeb0e957eb308 = false;
         }
         $v3aabf39f2d943fa886d86dcbbee4d910 = umiFieldsCollection::getInstance()->addField($v6184026d3eb247fb90d471744679ece5['name'], $v6184026d3eb247fb90d471744679ece5['title'], $v1e3f04102267eaf5e8d0ca424fd5c561, $v6184026d3eb247fb90d471744679ece5['is_public'], false);
         $v06e3d36fa30cea095545139854ad1fb9 = umiFieldsCollection::getInstance()->getField($v3aabf39f2d943fa886d86dcbbee4d910);
         $v06e3d36fa30cea095545139854ad1fb9->setTip($v6184026d3eb247fb90d471744679ece5['tip']);
         if ($v051369818a8073bba5feeb0e957eb308) {
             $v06e3d36fa30cea095545139854ad1fb9->setGuideId($v051369818a8073bba5feeb0e957eb308);
         }
         $v06e3d36fa30cea095545139854ad1fb9->commit();
         $v216c92e7f92d45ebbf45c075ceae8c05->attachField($v3aabf39f2d943fa886d86dcbbee4d910);
         if ($v87306dd4235ed712ebc07fe169b76f83) {
             umiImportRelations::getInstance()->setFieldIdRelation($this->source_id, $v87306dd4235ed712ebc07fe169b76f83, $v6184026d3eb247fb90d471744679ece5['name'], $v3aabf39f2d943fa886d86dcbbee4d910);
         }
     }
 }
Example #6
0
 public function createObject($name, $langId, $dataArray)
 {
     $model = new CatalogObjects();
     //prepare data
     $uploaddir = 'images/upload/' . date("d.m.Y", time());
     $attributes = array();
     switch ($langId) {
         case 19:
             $attributes['category_id'] = 1;
             //@todo Выбор категории для импорта
             break;
         case 20:
             $attributes['category_id'] = 5;
             break;
         case 21:
             $attributes['category_id'] = 9;
             break;
     }
     $attributes['name'] = $name;
     $attributes['h1'] = $name;
     $attributes['title'] = $name;
     $toUrl = $langId == 21 ? $name . "-" . $dataArray['artikul'] . "-fr" : $name . "-" . $dataArray['artikul'];
     $attributes['url'] = translit::convert($toUrl, "-");
     $attributes['price'] = isset($dataArray['price']) ? str_replace(",", ".", $dataArray['price']) : 0;
     $attributes['is_active'] = 0;
     $attributes['is_deleted'] = 0;
     $attributes['on_main'] = 0;
     $attributes['lang_id'] = $langId;
     $attributes['views_count'] = 0;
     $artikul = isset($dataArray['artikul']) ? $dataArray['artikul'] : '';
     if ($langId == 19) {
         $attributes['anons'] = $dataArray['name_ru'];
     } else {
         $attributes['anons'] = '';
     }
     if (is_dir('import_images/' . $artikul)) {
         if (is_file('import_images/' . $artikul . '/1.jpg')) {
             $anonsPicPath = $uploaddir . "/a_" . md5(time() . $artikul . "a1") . ".jpg";
             $contentPicPath = $uploaddir . "/c_" . md5(time() . $artikul . "c1") . ".jpg";
             if (copy('import_images/' . $artikul . '/1.jpg', $anonsPicPath)) {
                 $attributes['anons_pic'] = "/" . $anonsPicPath;
             }
             if (copy('import_images/' . $artikul . '/1.jpg', $contentPicPath)) {
                 $attributes['content_pic'] = "/" . $contentPicPath;
             }
         }
         if (is_file('import_images/' . $artikul . '/2.jpg')) {
             $extraPicPath = $uploaddir . "/e_" . md5(time() . $artikul . "2") . ".jpg";
             if (copy('import_images/' . $artikul . '/2.jpg', $extraPicPath)) {
                 $attributes['extra_img'] = "/" . $extraPicPath;
             }
         }
     }
     //push data
     $model->setAttributes($attributes);
     if ($model->save()) {
         //prepare additional data
         if (isset($dataArray['ratings']['RP'])) {
             $model->field('rp')->setValue($dataArray['ratings']['RP']);
         }
         if (isset($dataArray['ratings']['WS'])) {
             $model->field('ws')->setValue($dataArray['ratings']['WS']);
         }
         $additionalFields = CatalogFilteredFields::model()->findAllByAttributes(array("category_id" => $model->category_id));
         if (is_array($additionalFields) && count($additionalFields)) {
             foreach ($additionalFields as $f) {
                 $fieldData = isset($dataArray[$f->name]) ? $dataArray[$f->name] : null;
                 $langPrefix = 'ru';
                 switch ($langId) {
                     case 19:
                         $langPrefix = 'ru';
                         break;
                     case 20:
                         $langPrefix = 'en';
                         break;
                     case 21:
                         $langPrefix = 'fr';
                         break;
                 }
                 if (is_array($fieldData) || $fieldData && !is_array($fieldData)) {
                     switch ($f->data_type) {
                         case 'int':
                             if (is_numeric($dataArray[$f->name])) {
                                 $model->field($f->name)->setValue($dataArray[$f->name]);
                             }
                             break;
                         case 'date':
                             if ($dataArray[$f->name]) {
                                 $model->field($f->name)->setValue(strtotime($dataArray[$f->name]));
                             }
                             break;
                         case 'bool':
                             $model->field($f->name)->setValue($fieldData ? 1 : 0);
                             break;
                         case 'multiple':
                             if (is_array($fieldData) && isset($fieldData[$langPrefix])) {
                                 $values = $fieldData[$langPrefix];
                                 if (is_array($values) && count($values)) {
                                     $setArr = array();
                                     $num = 0;
                                     foreach ($values as $value) {
                                         $listItem = ListsItems::model()->findByAttributes(array("list_id" => $f->rel, "name" => $value));
                                         if (!is_object($listItem)) {
                                             $listItem = new ListsItems();
                                             $listItem->setAttributes(array("list_id" => $f->rel, "name" => $value));
                                             $listItem->save();
                                             if (isset($fieldData['en'][$num]) && $fieldData['en'][$num]) {
                                                 $listItem->field("en_name")->setValue($fieldData['en'][$num]);
                                             }
                                             if (isset($fieldData['fr'][$num]) && $fieldData['fr'][$num]) {
                                                 $listItem->field("fr_name")->setValue($fieldData['fr'][$num]);
                                             }
                                         }
                                         $setArr[] = $listItem->id;
                                         $num++;
                                     }
                                     $model->field($f->name)->setValue($setArr);
                                 }
                             } else {
                                 if (is_array($fieldData)) {
                                     $values = $fieldData;
                                     if (is_array($values) && count($values)) {
                                         $setArr = array();
                                         foreach ($values as $value) {
                                             $listItem = ListsItems::model()->findByAttributes(array("list_id" => $f->rel, "name" => $value));
                                             if (!is_object($listItem)) {
                                                 $listItem = new ListsItems();
                                                 $listItem->setAttributes(array("list_id" => $f->rel, "name" => $value));
                                                 $listItem->save();
                                             }
                                             $setArr[] = $listItem->id;
                                         }
                                         $model->field($f->name)->setValue($setArr);
                                     }
                                 }
                             }
                             break;
                         case 'list':
                             if (is_array($fieldData) && isset($fieldData[$langPrefix])) {
                                 $value = $fieldData[$langPrefix];
                                 $listItem = ListsItems::model()->findByAttributes(array("list_id" => $f->rel, "name" => $value));
                                 if (!is_object($listItem)) {
                                     $listItem = new ListsItems();
                                     $listItem->setAttributes(array("list_id" => $f->rel, "name" => $value));
                                     $listItem->save();
                                     if (isset($fieldData['en']) && $fieldData['en']) {
                                         $listItem->field("en_name")->setValue($fieldData['en']);
                                     }
                                     if (isset($fieldData['fr']) && $fieldData['fr']) {
                                         $listItem->field("fr_name")->setValue($fieldData['fr']);
                                     }
                                 }
                                 $model->field($f->name)->setValue($listItem->id);
                             } else {
                                 if ($f->name == 'brand') {
                                     $brandName = $fieldData['name'];
                                     $value = $brandName;
                                     $listItem = ListsItems::model()->findByAttributes(array("list_id" => $f->rel, "name" => $value));
                                     if (!is_object($listItem)) {
                                         $listItem = new ListsItems();
                                         $listItem->setAttributes(array("list_id" => $f->rel, "name" => $value));
                                         $listItem->save();
                                         if (isset($fieldData['en']) && $fieldData['en']) {
                                             $listItem->field("en_name")->setValue($fieldData['en']);
                                         }
                                         if (isset($fieldData['fr']) && $fieldData['fr']) {
                                             $listItem->field("fr_name")->setValue($fieldData['fr']);
                                         }
                                         if (isset($fieldData['site'])) {
                                             $listItem->field('ru_site')->setValue($fieldData['site']);
                                         }
                                     } else {
                                         if (isset($fieldData['en']) && $fieldData['en']) {
                                             $listItem->field("en_name")->setValue($fieldData['en']);
                                         }
                                         if (isset($fieldData['fr']) && $fieldData['fr']) {
                                             $listItem->field("fr_name")->setValue($fieldData['fr']);
                                         }
                                         if (isset($fieldData['site'])) {
                                             $listItem->field('ru_site')->setValue($fieldData['site']);
                                         }
                                     }
                                     $model->field($f->name)->setValue($listItem->id);
                                 } else {
                                     if (!is_array($fieldData)) {
                                         //$value = $fieldData;
                                         $listItem = ListsItems::model()->findByAttributes(array("list_id" => $f->rel, "name" => $fieldData));
                                         if (!is_object($listItem)) {
                                             $listItem = new ListsItems();
                                             $listItem->setAttributes(array("list_id" => $f->rel, "name" => $fieldData));
                                             $listItem->save();
                                         }
                                         $model->field($f->name)->setValue($listItem->id);
                                     }
                                 }
                             }
                             break;
                         default:
                             $value = is_array($fieldData) && isset($fieldData[$langPrefix]) ? $fieldData[$langPrefix] : $fieldData;
                             $model->field($f->name)->setValue(trim($value));
                             break;
                     }
                 }
             }
         }
     } else {
         print_r($model->errors);
         die;
     }
 }
Example #7
0
 public function _checkFolder($parent)
 {
     if (!$parent) {
         return;
     }
     $folder = "./images/cms/data";
     if (getRequest("param0") == 0) {
         @mkdir($folder . "/" . translit::convert(getRequest('alt-name')), 0777);
     } else {
         $hierarchy = umiHierarchy::getInstance();
         $curEl = $parent;
         $altDirs = array();
         while (true) {
             $altDir = $curEl->getAltName();
             $type = umiHierarchyTypesCollection::getInstance()->getType($curEl->getTypeId());
             if ($type->getExt() == 'photoalbum' && $type->getName() == 'photo') {
                 continue;
             }
             if ($altDir) {
                 array_unshift($altDirs, $altDir);
             }
             $curEl = $hierarchy->getElement($curEl->getRel());
             if (empty($curEl)) {
                 break;
             }
         }
         foreach ($altDirs as $alt) {
             $folder .= '/' . $alt;
             if (!file_exists($folder)) {
                 @mkdir($folder, 0777);
             }
         }
         //@mkdir ($folder.'/'.translit::convert(getRequest('alt-name')), 0777);
     }
 }
 public static function convertAltName($vd84ff935144e00c3e1d395c2379aca47, $va0f0bc95016c862498bbad29d1f4d9d4 = false)
 {
     $v2245023265ae4cf87d02c8b6ba991139 = mainConfiguration::getInstance();
     if (!$va0f0bc95016c862498bbad29d1f4d9d4) {
         $va0f0bc95016c862498bbad29d1f4d9d4 = $v2245023265ae4cf87d02c8b6ba991139->get('seo', 'alt-name-separator') ? $v2245023265ae4cf87d02c8b6ba991139->get('seo', 'alt-name-separator') : "_";
     }
     $vd84ff935144e00c3e1d395c2379aca47 = translit::convert($vd84ff935144e00c3e1d395c2379aca47, $va0f0bc95016c862498bbad29d1f4d9d4);
     $vd84ff935144e00c3e1d395c2379aca47 = preg_replace("/[\\?\\\\&=]+/", "_", $vd84ff935144e00c3e1d395c2379aca47);
     $vd84ff935144e00c3e1d395c2379aca47 = preg_replace("/[_\\/]+/", "_", $vd84ff935144e00c3e1d395c2379aca47);
     return $vd84ff935144e00c3e1d395c2379aca47;
 }