protected function loadValue()
 {
     $v9b207167e5381c47682c6b4f58a623fb = array();
     $v3aabf39f2d943fa886d86dcbbee4d910 = $this->field_id;
     if ($v8d777f385d3dfec8815d20f7496026dc = $this->getPropData()) {
         foreach ($v8d777f385d3dfec8815d20f7496026dc['text_val'] as $v3a6d0284e743dc4a9b86f97d6dd1a3bf) {
             if (is_null($v3a6d0284e743dc4a9b86f97d6dd1a3bf)) {
                 continue;
             }
             $v3a6d0284e743dc4a9b86f97d6dd1a3bf = self::unescapeFilePath($v3a6d0284e743dc4a9b86f97d6dd1a3bf);
             $v8c7dd922ad47494fc02c388e12c00eac = new umiFile(self::filterOutputString($v3a6d0284e743dc4a9b86f97d6dd1a3bf));
             if ($v8c7dd922ad47494fc02c388e12c00eac->getIsBroken()) {
                 continue;
             }
             $v9b207167e5381c47682c6b4f58a623fb[] = $v8c7dd922ad47494fc02c388e12c00eac;
         }
         return $v9b207167e5381c47682c6b4f58a623fb;
     }
     $vac5c74b64b4b8352ef2f181affb5ac2a = "SELECT text_val FROM {$this->tableName} WHERE obj_id = '{$this->object_id}' AND field_id = '{$v3aabf39f2d943fa886d86dcbbee4d910}' LIMIT 1";
     $result = l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a, true);
     while (list($v3a6d0284e743dc4a9b86f97d6dd1a3bf) = mysql_fetch_row($result)) {
         if (is_null($v3a6d0284e743dc4a9b86f97d6dd1a3bf)) {
             continue;
         }
         $v8c7dd922ad47494fc02c388e12c00eac = new umiFile($v3a6d0284e743dc4a9b86f97d6dd1a3bf);
         if ($v8c7dd922ad47494fc02c388e12c00eac->getIsBroken()) {
             continue;
         }
         $v9b207167e5381c47682c6b4f58a623fb[] = $v8c7dd922ad47494fc02c388e12c00eac;
     }
     return $v9b207167e5381c47682c6b4f58a623fb;
 }
 public static function autoExport(selector $v8be74552df93e31bbdd6b36ed74bdb6a, $vb8c8ec69026adfe891bf5e618eabb17b = false)
 {
     $v4aed429835809b0214b31d7ff74f05ba = new quickCsvExporter($v8be74552df93e31bbdd6b36ed74bdb6a);
     $v0e8133eb006c0f85ed9444ae07a60842 = umiObjectTypesCollection::getInstance();
     foreach ($v8be74552df93e31bbdd6b36ed74bdb6a->types as $v599dcce2998a6b40b1e38e8c6006cb0a) {
         if (is_null($v599dcce2998a6b40b1e38e8c6006cb0a->objectType) == false) {
             $v6301cee35ea764a1e241978f93f01069 = $v599dcce2998a6b40b1e38e8c6006cb0a->objectType->getId();
             $v4aed429835809b0214b31d7ff74f05ba->setObjectTypeId($v6301cee35ea764a1e241978f93f01069);
         }
         if (is_null($v599dcce2998a6b40b1e38e8c6006cb0a->hierarchyType) == false) {
             $vacf567c9c3d6cf7c6e2cc0ce108e0631 = $v599dcce2998a6b40b1e38e8c6006cb0a->hierarchyType->getId();
             $v6301cee35ea764a1e241978f93f01069 = $v0e8133eb006c0f85ed9444ae07a60842->getTypeByHierarchyTypeId($vacf567c9c3d6cf7c6e2cc0ce108e0631);
             $v4aed429835809b0214b31d7ff74f05ba->setObjectTypeId($v6301cee35ea764a1e241978f93f01069);
         }
     }
     if ($v8be74552df93e31bbdd6b36ed74bdb6a->mode == "pages" || $v8be74552df93e31bbdd6b36ed74bdb6a->hierarchy || $vb8c8ec69026adfe891bf5e618eabb17b) {
         $v4aed429835809b0214b31d7ff74f05ba->setResultsMode("element");
     } else {
         $v4aed429835809b0214b31d7ff74f05ba->setResultsMode("object");
     }
     $v52a43e48ec4649dee819dadabcab1bde = cmsController::getInstance()->getCurrentModule();
     $v2245023265ae4cf87d02c8b6ba991139 = mainConfiguration::getInstance();
     $v435ed7e9f07f740abf511a62c00eef6e = $v52a43e48ec4649dee819dadabcab1bde ? $v52a43e48ec4649dee819dadabcab1bde . "-" . date("Y-m-d_H.i.s") : "csv-export-" . uniqid();
     $vedcf819b71ce7a0689cd83e44f16b702 = $v2245023265ae4cf87d02c8b6ba991139->includeParam('system.runtime-cache') . $v435ed7e9f07f740abf511a62c00eef6e . ".csv";
     $v4aed429835809b0214b31d7ff74f05ba->setUsedFields(getRequest('used-fields'));
     $v4aed429835809b0214b31d7ff74f05ba->exportToFile($vedcf819b71ce7a0689cd83e44f16b702);
     $v8c7dd922ad47494fc02c388e12c00eac = new umiFile($vedcf819b71ce7a0689cd83e44f16b702);
     $v8c7dd922ad47494fc02c388e12c00eac->download(true);
 }
Esempio n. 3
0
 public function upload_files()
 {
     $s_path = $this->getCurrentPath();
     if (!defined("CURRENT_VERSION_LINE") || CURRENT_VERSION_LINE != "demo") {
         if (isset($_FILES['fs_upl_files']) && count($_FILES['fs_upl_files'])) {
             $arr_files = $_FILES['fs_upl_files'];
             foreach ($arr_files['name'] as $i_id => $s_name) {
                 umiFile::upload("fs_upl_files", $i_id, $s_path);
             }
         }
     }
 }
 public function subscribers_import_do()
 {
     $select_csvfile = getRequest('select_csvfile');
     if (!($csvfile = umiFile::upload("data", "csvfile", "./files/"))) {
         $csvfile = new umiFile("./files/" . $select_csvfile);
     }
     if ($filepath = $csvfile->getFilePath()) {
         $csv = file_get_contents($filepath);
         $csv = iconv("CP1251", "UTF-8//IGNORE", $csv);
         $csv_arr = explode("\n", $csv);
         foreach ($csv_arr as $csv_line) {
             $arr = explode(";", $csv_line);
             if (sizeof($arr) < 2) {
                 continue;
             }
             list($email, $fname) = $arr;
             $lname = isset($arr[2]) ? $arr[2] : false;
             $this->import_subscriber($email, $fname, $lname);
         }
     }
     $this->redirect($this->pre_lang . "/admin/dispatches/subscribers/");
 }
Esempio n. 5
0
 public function shared_file($template = "default", $element_path = false)
 {
     if (!$template) {
         $template = "default";
     }
     list($s_download_file, $s_broken_file, $s_upload_file) = def_module::loadTemplates("filemanager/" . $template, "shared_file", "broken_file", "upload_file");
     $element_id = $this->analyzeRequiredPath($element_path);
     $element = umiHierarchy::getInstance()->getElement($element_id);
     $block_arr = array();
     $template_block = $s_broken_file;
     if ($element) {
         // upload file if allowed
         $iUserId = cmsController::getInstance()->getModule('users')->user_id;
         list($bAllowRead, $bAllowWrite) = permissionsCollection::getInstance()->isAllowedObject($iUserId, $element_id);
         $block_arr['upload_file'] = "";
         if ($bAllowWrite) {
             $block_arr['upload_file'] = $s_upload_file;
             // upload first file in $_FILES
             if (count($_FILES)) {
                 $oUploadedFile = umiFile::upload("shared_files", "upload", "./files/");
                 if ($oUploadedFile instanceof umiFile) {
                     $element->setValue("fs_file", $oUploadedFile);
                     $element->commit();
                 }
             }
         }
         $block_arr['id'] = $element_id;
         $block_arr['descr'] = ($descr = $element->getValue("descr")) ? $descr : $element->getValue("content");
         $block_arr['alt_name'] = $element->getAltName();
         $block_arr['link'] = umiHierarchy::getInstance()->getPathById($element_id);
         // file
         $block_arr['download_link'] = "";
         $block_arr['file_name'] = "";
         $block_arr['file_size'] = 0;
         $o_file = $element->getValue("fs_file");
         if ($o_file instanceof umiFile) {
             if (!$o_file->getIsBroken()) {
                 $template_block = $s_download_file;
                 $block_arr['download_link'] = $this->pre_lang . "/filemanager/download/" . $element_id;
                 $block_arr['file_name'] = $o_file->getFileName();
                 $block_arr['file_size'] = round($o_file->getSize() / 1024, 2);
             }
         }
     } else {
         return cmsController::getInstance()->getModule("users")->auth();
     }
     $this->pushEditable("filemanager", "shared_file", $element_id);
     return self::parseTemplate($template_block, $block_arr);
 }
Esempio n. 6
0
 protected function saveIncomingFile()
 {
     $file_name = getRequest('filename');
     $buffer = outputBuffer::current('HTTPOutputBuffer');
     $content = $buffer->getHTTPRequestBody();
     if (!strlen($file_name)) {
         return "failure\nEmpty filename.";
     }
     list($dir_name, , $extension) = array_values(getPathInfo($file_name));
     if (!strlen($extension) || !umiFile::isAllowedFileType($extension)) {
         return "failure\nUnknown file type.";
     }
     if (!isset($_SESSION['1c_latest_catalog-file'])) {
         $_SESSION['1c_latest_catalog-file'] = "";
     }
     $i_flag = $_SESSION['1c_latest_catalog-file'] == $file_name ? FILE_APPEND : 0;
     $base_name = substr($file_name, 0, strlen($file_name) - strlen($extension) - 1);
     $temp_dir = self::$importDirectory;
     if (!is_dir($temp_dir)) {
         mkdir($temp_dir, 0777, true);
     }
     if (strtolower($extension) == "xml") {
         file_put_contents($temp_dir . $base_name . "." . $extension, $content, $i_flag);
     } else {
         $quota_byte = getBytesFromString(mainConfiguration::getInstance()->get('system', 'quota-files-and-images'));
         if ($quota_byte != 0) {
             $all_size = getBusyDiskSize(array('/files', '/images'));
             if ($all_size + strlen($content) >= $quota_byte) {
                 return "failure\n max dirsize in /files and /images summary.";
             }
         }
         $images_dir = "./images/cms/data/" . $dir_name . "/";
         if (!is_dir($images_dir)) {
             mkdir($images_dir, 0777, true);
         }
         file_put_contents("./images/cms/data/" . $file_name, $content, $i_flag);
         if (realpath("./images/cms/data/" . $file_name) != CURRENT_WORKING_DIR . "/images/cms/data/" . $file_name) {
             unlink("./images/cms/data/" . $file_name);
             return "failure\nWrong file path.";
         }
     }
     $_SESSION['1c_latest_catalog-file'] = $file_name;
     return "success";
 }
 public static function upload($veeeb23fbd23e52a6a6ff78b9f18cbc4e, $v86536e21993c5a96a4d4c9c9afcc9b17, $vb2ed5fc91c9760886b14c955ac6c82d7, $vb80bb7740288fda1f201890375a60c8f = false)
 {
     self::$class_name = __CLASS__;
     $v6a2a431fe8b621037ea949531c28551d = parent::upload($veeeb23fbd23e52a6a6ff78b9f18cbc4e, $v86536e21993c5a96a4d4c9c9afcc9b17, $vb2ed5fc91c9760886b14c955ac6c82d7, $vb80bb7740288fda1f201890375a60c8f);
     $vb1444fb0c07653567ad325aa25d4e37a = regedit::getInstance();
     $ve6a7ab42343e8bc9131d89646abcb773 = (int) $vb1444fb0c07653567ad325aa25d4e37a->getVal("//settings/max_img_filesize");
     $v79001f389eb5f5185f6945430cb57be1 = (int) ini_get("upload_max_filesize");
     $ve6a7ab42343e8bc9131d89646abcb773 = $ve6a7ab42343e8bc9131d89646abcb773 < $v79001f389eb5f5185f6945430cb57be1 ? $ve6a7ab42343e8bc9131d89646abcb773 : $v79001f389eb5f5185f6945430cb57be1;
     $v11b4278c7e5a79003db77272c1ed2cf5 = (int) filesize("." . $v6a2a431fe8b621037ea949531c28551d);
     $ve6a7ab42343e8bc9131d89646abcb773 = (int) $ve6a7ab42343e8bc9131d89646abcb773 * 1024 * 1024;
     if ($ve6a7ab42343e8bc9131d89646abcb773 > 0) {
         if ($ve6a7ab42343e8bc9131d89646abcb773 < $v11b4278c7e5a79003db77272c1ed2cf5) {
             unlink("." . $v6a2a431fe8b621037ea949531c28551d);
             return false;
         }
     }
     $vcaf9b6b99962bf5c2264824231d7a40c = @getimagesize("." . $v6a2a431fe8b621037ea949531c28551d);
     if (!is_array($vcaf9b6b99962bf5c2264824231d7a40c)) {
         @unlink("." . $v6a2a431fe8b621037ea949531c28551d);
         return false;
     }
     $vf9a3266ad8c9b1c7135d1e0d787fe91b = (bool) mainConfiguration::getInstance()->get("kernel", "jpg-through-gd");
     if ($vf9a3266ad8c9b1c7135d1e0d787fe91b) {
         list(, , $v566bbee0f961ad71b54c3c2fd36db053) = array_values(getPathInfo("." . $v6a2a431fe8b621037ea949531c28551d));
         $v566bbee0f961ad71b54c3c2fd36db053 = strtolower($v566bbee0f961ad71b54c3c2fd36db053);
         if ($v566bbee0f961ad71b54c3c2fd36db053 == 'jpg' || $v566bbee0f961ad71b54c3c2fd36db053 == 'jpeg') {
             $v9b207167e5381c47682c6b4f58a623fb = imagecreatefromjpeg("." . $v6a2a431fe8b621037ea949531c28551d);
             if ($v9b207167e5381c47682c6b4f58a623fb) {
                 imagejpeg($v9b207167e5381c47682c6b4f58a623fb, "." . $v6a2a431fe8b621037ea949531c28551d, 100);
                 imagedestroy($v9b207167e5381c47682c6b4f58a623fb);
             } else {
                 return false;
             }
         }
     }
     if (self::$useWatermark) {
         self::addWatermark("./" . $v6a2a431fe8b621037ea949531c28551d);
     }
     self::setWatermarkOff();
     return $v6a2a431fe8b621037ea949531c28551d;
 }
 protected function exportFile(umiFile $v8c7dd922ad47494fc02c388e12c00eac)
 {
     $vd6fe1d0be6347b8ef2427fa629c04485 = $v8c7dd922ad47494fc02c388e12c00eac->getFilePath();
     if (isset($this->exported_files[$vd6fe1d0be6347b8ef2427fa629c04485])) {
         return false;
     }
     if ($this->limit) {
         if ($this->position >= $this->limit) {
             $this->break = true;
             return false;
         }
     }
     $v5b063e275d506f65ebf1b02d926f19a4 = $v8c7dd922ad47494fc02c388e12c00eac->getFileName();
     $v4a8a08f09d37b73795649038408b5f33 = $this->doc->createElement('file');
     $this->files_container->appendChild($v4a8a08f09d37b73795649038408b5f33);
     $this->translateEntity($v8c7dd922ad47494fc02c388e12c00eac, $v4a8a08f09d37b73795649038408b5f33);
     $v0800fc577294c34e0b28ad2839435945 = md5_file($vd6fe1d0be6347b8ef2427fa629c04485);
     $v4493ba1ac6e2a63455acda96db3da768 = $this->doc->createAttribute("hash");
     $v4a8a08f09d37b73795649038408b5f33->appendChild($v4493ba1ac6e2a63455acda96db3da768);
     $va14ef8ab1dc3a33642fcbdc20b856dbb = $this->doc->createTextNode("{$v0800fc577294c34e0b28ad2839435945}");
     $v4493ba1ac6e2a63455acda96db3da768->appendChild($va14ef8ab1dc3a33642fcbdc20b856dbb);
     $v5b063e275d506f65ebf1b02d926f19a4 = $v8c7dd922ad47494fc02c388e12c00eac->getFileName();
     $vc29a0c0bef824ee1691bc91da9b60bb7 = $this->doc->createAttribute("name");
     $v4a8a08f09d37b73795649038408b5f33->appendChild($vc29a0c0bef824ee1691bc91da9b60bb7);
     $v7affb12a524a065ba5ff47dc80e5bd68 = $this->doc->createTextNode("{$v5b063e275d506f65ebf1b02d926f19a4}");
     $vc29a0c0bef824ee1691bc91da9b60bb7->appendChild($v7affb12a524a065ba5ff47dc80e5bd68);
     if ($this->destination) {
         $v47826cacc65c665212b821e6ff80b9b0 = $this->destination . $v8c7dd922ad47494fc02c388e12c00eac->getFilePath(true);
         $vaedcc8bf00dbfd959b5898fe1e21c7ab = dirname($v47826cacc65c665212b821e6ff80b9b0);
         if (!file_exists($vaedcc8bf00dbfd959b5898fe1e21c7ab)) {
             mkdir($vaedcc8bf00dbfd959b5898fe1e21c7ab, 0777, true);
         }
         if (copy($vd6fe1d0be6347b8ef2427fa629c04485, $v47826cacc65c665212b821e6ff80b9b0)) {
             chmod($v47826cacc65c665212b821e6ff80b9b0, 0777);
         } else {
             $this->reportError("File \"{$vd6fe1d0be6347b8ef2427fa629c04485} \" cannot be copied to \"{$v47826cacc65c665212b821e6ff80b9b0}\"");
         }
     } else {
         $this->reportError('Files cannot be copied because destination folder isn\'t defined');
     }
     $this->exported_files[$vd6fe1d0be6347b8ef2427fa629c04485] = $vd6fe1d0be6347b8ef2427fa629c04485;
     $this->position++;
     return true;
 }
 protected function _doSave_upload($v0666f0acdeed38d4cd9084ade1739498, $v28e3d688a3c077b887921cea3fb1dbc7, $vb068931cc450442b63f5b3d276ea4297)
 {
     $v109633366fd0d46d371ede589998abaa = getcwd();
     chdir(CURRENT_WORKING_DIR);
     $v4bd19a884f07e6a2211760e682f98588 = 0;
     $vb1444fb0c07653567ad325aa25d4e37a = regedit::getInstance();
     $v594c103f2c6e04c3d8ab059f031e0c1a = cmsController::getInstance();
     $v435ed7e9f07f740abf511a62c00eef6e = "." . rtrim($v28e3d688a3c077b887921cea3fb1dbc7, "/\\") . DIRECTORY_SEPARATOR . $vb068931cc450442b63f5b3d276ea4297;
     if (isset($_FILES['upload'])) {
         foreach ($_FILES['upload']['name'] as $v865c0c0b4ab0e063e5caa3387c1a8741 => $v1cf7e4c33df66ca3d5459264ea9a5885) {
             if ($v1cf7e4c33df66ca3d5459264ea9a5885 == $vb068931cc450442b63f5b3d276ea4297) {
                 $v435ed7e9f07f740abf511a62c00eef6e = $_FILES['upload']['tmp_name'][$v865c0c0b4ab0e063e5caa3387c1a8741];
                 $v4bd19a884f07e6a2211760e682f98588 = $v865c0c0b4ab0e063e5caa3387c1a8741;
             }
         }
     }
     $v11b4278c7e5a79003db77272c1ed2cf5 = (int) filesize($v435ed7e9f07f740abf511a62c00eef6e);
     if (umiImageFile::getIsImage($vb068931cc450442b63f5b3d276ea4297)) {
         $ve6a7ab42343e8bc9131d89646abcb773 = $v594c103f2c6e04c3d8ab059f031e0c1a->getModule('data')->getAllowedMaxFileSize('img') * 1024 * 1024;
         if ($ve6a7ab42343e8bc9131d89646abcb773 > 0) {
             if ($ve6a7ab42343e8bc9131d89646abcb773 < $v11b4278c7e5a79003db77272c1ed2cf5) {
                 chdir($v109633366fd0d46d371ede589998abaa);
                 return $this->setError(getLabel('error-max_img_filesize') . ' ' . $ve6a7ab42343e8bc9131d89646abcb773 / 1024 / 1024 . "M");
             }
         }
         if (getRequest('water_mark')) {
             umiImageFile::setWatermarkOn();
         }
         $v8c7dd922ad47494fc02c388e12c00eac = umiImageFile::upload('upload', $v4bd19a884f07e6a2211760e682f98588, $v28e3d688a3c077b887921cea3fb1dbc7);
     } else {
         $v79001f389eb5f5185f6945430cb57be1 = $v594c103f2c6e04c3d8ab059f031e0c1a->getModule('data')->getAllowedMaxFileSize() * 1024 * 1024;
         if ($v79001f389eb5f5185f6945430cb57be1 > 0) {
             if ($v79001f389eb5f5185f6945430cb57be1 < $v11b4278c7e5a79003db77272c1ed2cf5) {
                 chdir($v109633366fd0d46d371ede589998abaa);
                 return $this->setError(getLabel('error-max_filesize') . ' ' . $v79001f389eb5f5185f6945430cb57be1 / 1024 / 1024 . "M");
             }
         }
         $v8c7dd922ad47494fc02c388e12c00eac = umiFile::upload('upload', $v4bd19a884f07e6a2211760e682f98588, $v28e3d688a3c077b887921cea3fb1dbc7);
     }
     chdir($v109633366fd0d46d371ede589998abaa);
     if (!$v8c7dd922ad47494fc02c388e12c00eac instanceof umiFile || $v8c7dd922ad47494fc02c388e12c00eac->getIsBroken()) {
         return $this->setError(elFinder::ERROR_UPLOAD);
     } else {
         return CURRENT_WORKING_DIR . $v8c7dd922ad47494fc02c388e12c00eac->getFilePath(true);
     }
 }
Esempio n. 10
0
 public function message_post_do()
 {
     if ($users_inst = cmsController::getInstance()->getModule("users")) {
         if (!$users_inst->is_auth()) {
             if (!regedit::getInstance()->getVal("//modules/forum/allow_guest")) {
                 return "%forum_not_allowed_post%";
             }
         }
     }
     $title = getRequest('title');
     $body = getRequest('body');
     $title = htmlspecialchars($title);
     $body = htmlspecialchars($body);
     $nickname = htmlspecialchars(getRequest('nickname'));
     $email = htmlspecialchars(getRequest('email'));
     $ip = getServer('REMOTE_ADDR');
     $publish_time = new umiDate(time());
     $parent_id = (int) getRequest('param0');
     $parent_element = umiHierarchy::getInstance()->getElement($parent_id, true);
     if (!strlen(trim($title)) && $parent_element instanceof umiHierarchyElement) {
         $title = "Re: " . $parent_element->getName();
     }
     // check captcha
     $referer_url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '/';
     if (isset($_REQUEST['captcha'])) {
         $_SESSION['user_captcha'] = md5((int) getRequest('captcha'));
     }
     if (!umiCaptcha::checkCaptcha() || !$parent_element) {
         $this->errorNewMessage('%errors_wrong_captcha%', false);
         $this->errorPanic();
     }
     if (!strlen(trim($body))) {
         $this->errorNewMessage('%error_message_empty%', false);
         $this->errorPanic();
     }
     $lang_id = cmsController::getInstance()->getCurrentLang()->getId();
     $domain_id = cmsController::getInstance()->getCurrentDomain()->getId();
     $tpl_id = $parent_element->getTplId();
     $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("forum", "message")->getId();
     $object_type_id = umiObjectTypesCollection::getInstance()->getBaseType("forum", "message");
     $is_supervisor = false;
     if ($users_inst = cmsController::getInstance()->getModule("users")) {
         if ($users_inst->is_auth()) {
             $user_id = $users_inst->user_id;
             $author_id = $users_inst->createAuthorUser($user_id);
             $is_supervisor = $users_inst->isSv($user_id);
         } else {
             $author_id = $users_inst->createAuthorGuest($nickname, $email, $ip);
         }
         $author = umiObjectsCollection::getInstance()->getObject($author_id);
         $author->commit();
     }
     $element_id = umiHierarchy::getInstance()->addElement($parent_id, $hierarchy_type_id, $title, $title, $object_type_id, $domain_id, $lang_id, $tpl_id);
     permissionsCollection::getInstance()->setDefaultPermissions($element_id);
     $element = umiHierarchy::getInstance()->getElement($element_id, true);
     $element->setIsVisible(false);
     $bNeedModerate = !$is_supervisor && regedit::getInstance()->getVal("//modules/forum/need_moder");
     if (!$bNeedModerate) {
         $bNeedModerate = !antiSpamHelper::checkContent($body . $title . $nickname . $email);
     }
     $element->setIsActive(!$bNeedModerate);
     $element->setAltName($title);
     $element->getObject()->setName($title);
     $element->setValue("meta_descriptions", "");
     $element->setValue("meta_keywords", "");
     $element->setValue("h1", $title);
     $element->setValue("title", $title);
     $element->setValue("is_expanded", false);
     $element->setValue("show_submenu", false);
     $element->setValue("message", $body);
     $element->setValue("author_id", $author_id);
     $element->setValue("publish_time", $publish_time);
     if ($headers = umiFile::upload("pics", "headers", "./images/cms/headers/")) {
         $element->setValue("header_pic", $headers);
     }
     $object_id = $element->getObject()->getId();
     $data_module = cmsController::getInstance()->getModule('data');
     $data_module->saveEditedObject($object_id, true);
     $element->commit();
     if (!defined("DISABLE_SEARCH_REINDEX")) {
         define("DISABLE_SEARCH_REINDEX", 1);
     }
     if ($parent_id) {
         $parentElement = umiHierarchy::getInstance()->getElement($element->getRel());
         if ($parentElement instanceof umiHierarchyElement) {
             $parentElement->setValue("last_message", $element_id);
             $parentElement->setValue("last_post_time", time());
             $parentElement->commit();
         }
         $parentElement = umiHierarchy::getInstance()->getElement($parentElement->getRel());
         if ($parentElement instanceof umiHierarchyElement) {
             $parentElement->setValue("last_message", $element_id);
             $parentElement->commit();
         }
     }
     if (!$bNeedModerate) {
         $this->recalcCounts($element);
     }
     $oEventPoint = new umiEventPoint("forum_message_post_do");
     $oEventPoint->setMode("after");
     $oEventPoint->setParam("topic_id", $parent_id);
     $oEventPoint->setParam("message_id", $element_id);
     $this->setEventPoint($oEventPoint);
     $path = $bNeedModerate ? $referer_url : $this->getMessageLink($element_id);
     $this->redirect($path);
 }
Esempio n. 11
0
 public function get_export()
 {
     $id = (int) getRequest('param0');
     $as_file = getRequest('as_file');
     $objects = umiObjectsCollection::getInstance();
     $settings = $objects->getObject($id);
     if (!$settings instanceof umiObject) {
         throw new publicException(getLabel("exchange-err-settings_notfound"));
     }
     $format_id = $settings->format;
     $exportFormat = $objects->getObject($format_id);
     if (!$exportFormat instanceof umiObject) {
         throw new publicException(getLabel("exchange-err-format_undefined"));
     }
     $suffix = $exportFormat->sid;
     $exporter = umiExporter::get($suffix);
     if ($settings->source_name) {
         $exporter->setSourceName($settings->source_name);
     }
     // check cache
     $cache_time = (int) $settings->cache_time;
     $temp_dir = "./sys-temp/export/";
     if (!is_dir($temp_dir)) {
         mkdir($temp_dir, 0777, true);
     }
     $cache_file_path = $temp_dir . $id . "." . $exporter->getFileExt();
     if ($as_file === '1') {
         $temp_folder = $temp_dir . $id;
         if (is_dir($temp_folder)) {
             if (file_exists($temp_dir . $id . ".zip")) {
                 unlink($temp_dir . $id . ".zip");
             }
             $archive = new PclZip($temp_dir . $id . ".zip");
             $archive->add(array($temp_dir . $id . ".xml", $temp_folder), PCLZIP_OPT_REMOVE_PATH, 'sys-temp/export');
             shell_exec("rm -rf {$temp_folder}");
             $zipFile = new umiFile($temp_dir . $id . ".zip");
             $zipFile->download();
             return;
         }
         $cache_file = new umiFile($cache_file_path);
         $cache_file->download();
         return;
     }
     if ($as_file === '0') {
         if (!file_exists($cache_file_path) || !$cache_time || $cache_time && time() > filectime($cache_file_path) + $cache_time * 60) {
             $result = $exporter->export($settings->elements);
             if ($result) {
                 file_put_contents($cache_file_path, $result);
             }
         }
         $buffer = $exporter->setOutputBuffer();
         $buffer->push(file_get_contents($cache_file_path));
         $buffer->end();
         return;
     }
     if ($as_file === null && (!file_exists($cache_file_path) || !$cache_time || $cache_time && time() > filectime($cache_file_path) + $cache_time * 60)) {
         $result = $exporter->export($settings->elements);
         if ($result) {
             file_put_contents($cache_file_path, $result);
         }
     }
     $data = array("attribute:complete" => (int) $exporter->getIsCompleted());
     baseModuleAdmin::setData($data);
     return baseModuleAdmin::doData();
 }
 public static function autoImport(selector $v8be74552df93e31bbdd6b36ed74bdb6a, $vb8c8ec69026adfe891bf5e618eabb17b = false)
 {
     $v7f2db423a49b305459147332fb01cf87 = outputBuffer::current();
     $v7f2db423a49b305459147332fb01cf87->contentType('text/html');
     $v7f2db423a49b305459147332fb01cf87->push("<script type='text/javascript'>\n");
     if (isset($_FILES['csv-file'])) {
         $v1ded0622d3320f26b47f514fabab54f1 = getArrayKey($_FILES, 'csv-file');
         $vb068931cc450442b63f5b3d276ea4297 = getArrayKey($v1ded0622d3320f26b47f514fabab54f1, 'name');
         $v656840677a2dbd5ab56a2202e415b293 = getArrayKey($v1ded0622d3320f26b47f514fabab54f1, 'tmp_name');
         $vcb5e100e5a9a3e7f6d1fd97512215282 = getArrayKey($v1ded0622d3320f26b47f514fabab54f1, 'error');
         $vf7bd60b75b29d79b660a2859395c1a24 = getArrayKey($v1ded0622d3320f26b47f514fabab54f1, 'size');
         if ($vcb5e100e5a9a3e7f6d1fd97512215282) {
             $v7f2db423a49b305459147332fb01cf87->push("alert('Failed to upload file');\n");
         } else {
             $v2245023265ae4cf87d02c8b6ba991139 = mainConfiguration::getInstance();
             $v8c7dd922ad47494fc02c388e12c00eac = umiFile::manualUpload($vb068931cc450442b63f5b3d276ea4297, $v656840677a2dbd5ab56a2202e415b293, $vf7bd60b75b29d79b660a2859395c1a24, $v2245023265ae4cf87d02c8b6ba991139->includeParam('system.runtime-cache'));
             if (!$v8c7dd922ad47494fc02c388e12c00eac instanceof iUmiFile || $v8c7dd922ad47494fc02c388e12c00eac->getIsBroken()) {
                 $v7f2db423a49b305459147332fb01cf87->push("alert('Upload file is broken');\n");
             } else {
                 $v93473a7344419b15c4219cc2b6c64c6f = new quickCsvImporter($v8c7dd922ad47494fc02c388e12c00eac);
                 $v93473a7344419b15c4219cc2b6c64c6f->forceHierarchy = $vb8c8ec69026adfe891bf5e618eabb17b;
                 $v0e8133eb006c0f85ed9444ae07a60842 = array();
                 $v6942e8fa62b3cc9d93881a58210e2fd7 = array();
                 foreach ($v8be74552df93e31bbdd6b36ed74bdb6a->types as $v599dcce2998a6b40b1e38e8c6006cb0a) {
                     if (!is_null($v599dcce2998a6b40b1e38e8c6006cb0a->objectType)) {
                         $v0e8133eb006c0f85ed9444ae07a60842[] = $v599dcce2998a6b40b1e38e8c6006cb0a->objectType;
                     }
                     if (!is_null($v599dcce2998a6b40b1e38e8c6006cb0a->hierarchyType)) {
                         $v6942e8fa62b3cc9d93881a58210e2fd7[] = $v599dcce2998a6b40b1e38e8c6006cb0a->hierarchyType;
                     }
                 }
                 if (!$vb8c8ec69026adfe891bf5e618eabb17b && !sizeof($v8be74552df93e31bbdd6b36ed74bdb6a->hierarchy)) {
                     if (sizeof($v0e8133eb006c0f85ed9444ae07a60842)) {
                         $v93473a7344419b15c4219cc2b6c64c6f->importAsObjects($v0e8133eb006c0f85ed9444ae07a60842[0]);
                         $v7f2db423a49b305459147332fb01cf87->push("//Upload completed\n");
                     }
                 } else {
                     if (sizeof($v6942e8fa62b3cc9d93881a58210e2fd7) > 1) {
                         $vacf567c9c3d6cf7c6e2cc0ce108e0631 = false;
                         for ($v865c0c0b4ab0e063e5caa3387c1a8741 = sizeof($v6942e8fa62b3cc9d93881a58210e2fd7) - 1; $v865c0c0b4ab0e063e5caa3387c1a8741 >= 0; $v865c0c0b4ab0e063e5caa3387c1a8741--) {
                             if ($v6942e8fa62b3cc9d93881a58210e2fd7[$v865c0c0b4ab0e063e5caa3387c1a8741]->getId() == umiHierarchyTypesCollection::getInstance()->getTypeByName('comments', 'comment')->getId()) {
                                 continue;
                             }
                             $vacf567c9c3d6cf7c6e2cc0ce108e0631 = $v6942e8fa62b3cc9d93881a58210e2fd7[$v865c0c0b4ab0e063e5caa3387c1a8741]->getId();
                             break;
                         }
                         $v72352a4d26581ef082a6d2243c5a6b88 = false;
                         if (is_array($v8be74552df93e31bbdd6b36ed74bdb6a->hierarchy) && sizeof($v8be74552df93e31bbdd6b36ed74bdb6a->hierarchy)) {
                             $v72352a4d26581ef082a6d2243c5a6b88 = $v8be74552df93e31bbdd6b36ed74bdb6a->hierarchy[0]->elementId;
                         }
                         if ($v72352a4d26581ef082a6d2243c5a6b88) {
                             $vfabf67ff39a368b3c0eae3c66d81cc5e = umiHierarchy::getInstance()->getDominantTypeId($v72352a4d26581ef082a6d2243c5a6b88);
                             if ($vfabf67ff39a368b3c0eae3c66d81cc5e) {
                                 $v726e8e4809d4c1b28a6549d86436a124 = umiObjectTypesCollection::getInstance()->getType($vfabf67ff39a368b3c0eae3c66d81cc5e);
                                 if ($ve6d258c789c675bb2d39aa58e3bc6fb0 = $v726e8e4809d4c1b28a6549d86436a124->getHierarchyTypeId()) {
                                     $vacf567c9c3d6cf7c6e2cc0ce108e0631 = $ve6d258c789c675bb2d39aa58e3bc6fb0;
                                 }
                             }
                         }
                         $v93473a7344419b15c4219cc2b6c64c6f->importAsElements($vacf567c9c3d6cf7c6e2cc0ce108e0631, $v72352a4d26581ef082a6d2243c5a6b88);
                     }
                 }
                 $v8c7dd922ad47494fc02c388e12c00eac->delete();
             }
         }
     } else {
         $v7f2db423a49b305459147332fb01cf87->push("alert('File is not posted');\n");
     }
     $v7f2db423a49b305459147332fb01cf87->push("window.parent.csvQuickImportCallback();\n</script>\n");
     $v7f2db423a49b305459147332fb01cf87->end();
 }
Esempio n. 13
0
 public function readDataBlock()
 {
     $v8c7dd922ad47494fc02c388e12c00eac = new umiFile($this->file_path);
     if ($v8c7dd922ad47494fc02c388e12c00eac) {
         $this->sourceName = $v8c7dd922ad47494fc02c388e12c00eac->getFileName();
     }
     $this->relations = umiImportRelations::getInstance();
     $this->relations->addNewSource($this->sourceName);
     $v9a09b4dfda82e3e665e31092d1c3ec8d = new DOMDocument("1.0", "utf-8");
     $v9a09b4dfda82e3e665e31092d1c3ec8d->formatOutput = XML_FORMAT_OUTPUT;
     $v63a9f0ea7bb98050796b649e85481845 = $this->createGrid($v9a09b4dfda82e3e665e31092d1c3ec8d);
     $vb3b32a2d422265cd25c3323ed0157f81 = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('pages');
     $v63a9f0ea7bb98050796b649e85481845->appendChild($vb3b32a2d422265cd25c3323ed0157f81);
     $vb81ca7c0ccaa77e7aa91936ab0070695 = $v9a09b4dfda82e3e665e31092d1c3ec8d->createElement('hierarchy');
     $v63a9f0ea7bb98050796b649e85481845->appendChild($vb81ca7c0ccaa77e7aa91936ab0070695);
     $ve1260894f59eeae98c8440899de4df8d = fopen($this->file_path, "r");
     if ($ve1260894f59eeae98c8440899de4df8d) {
         $v7aa28ed115707345d0274032757e8991 = true;
     } else {
         $v7aa28ed115707345d0274032757e8991 = false;
     }
     $v4757fe07fd492a8be0ea6a760d683d6e = 0;
     $v95723b5e620e47cf613462b9f293282a = 0;
     while ($v7aa28ed115707345d0274032757e8991 && ($vb45cffe084dd3d20d928bee85e7b0f21 = fgets($ve1260894f59eeae98c8440899de4df8d))) {
         if (substr_count($vb45cffe084dd3d20d928bee85e7b0f21, '"') % 2 != 0) {
             $v132ae73e31f76d8b94f87fe5ccfe28c9 = false;
             while (!feof($ve1260894f59eeae98c8440899de4df8d) && !$v132ae73e31f76d8b94f87fe5ccfe28c9) {
                 $vb45cffe084dd3d20d928bee85e7b0f21 .= fgets($ve1260894f59eeae98c8440899de4df8d);
                 if (substr_count($vb45cffe084dd3d20d928bee85e7b0f21, '"') % 2 == 0) {
                     $v132ae73e31f76d8b94f87fe5ccfe28c9 = true;
                 }
             }
         }
         $vb45cffe084dd3d20d928bee85e7b0f21 = html_entity_decode($vb45cffe084dd3d20d928bee85e7b0f21, ENT_QUOTES, 'cp1251');
         $vb45cffe084dd3d20d928bee85e7b0f21 = preg_replace("/([^;])\"\"/s", "\$1'*//*'", $vb45cffe084dd3d20d928bee85e7b0f21);
         preg_match_all("/\"(.*?)\"/s", $vb45cffe084dd3d20d928bee85e7b0f21, $v9c28d32df234037773be184dbdafc274);
         foreach ($v9c28d32df234037773be184dbdafc274[0] as $v2150fd65034a9bcdb357943b3900a918) {
             $vcd98ed9d0c33939793e2a0fc9400fc2b = str_replace(";", "'////'", $v2150fd65034a9bcdb357943b3900a918);
             $vb45cffe084dd3d20d928bee85e7b0f21 = str_replace($v2150fd65034a9bcdb357943b3900a918, $vcd98ed9d0c33939793e2a0fc9400fc2b, $vb45cffe084dd3d20d928bee85e7b0f21);
         }
         $vb45cffe084dd3d20d928bee85e7b0f21 = preg_replace("/(.+);\$/s", "\$1", trim($vb45cffe084dd3d20d928bee85e7b0f21));
         $v7f2db423a49b305459147332fb01cf87 = explode(";", $vb45cffe084dd3d20d928bee85e7b0f21);
         $v4757fe07fd492a8be0ea6a760d683d6e++;
         foreach ($v7f2db423a49b305459147332fb01cf87 as $v3c6e0b8a9c15224a8228b9a98ca1531d => $v2063c1608d6e0baf80249c42e2be5804) {
             $v2063c1608d6e0baf80249c42e2be5804 = iconv('windows-1251', 'utf-8//IGNORE', $v2063c1608d6e0baf80249c42e2be5804);
             $v2063c1608d6e0baf80249c42e2be5804 = str_replace("'////'", ";", $v2063c1608d6e0baf80249c42e2be5804);
             $v2063c1608d6e0baf80249c42e2be5804 = str_replace("'*//*'", '"', $v2063c1608d6e0baf80249c42e2be5804);
             $v2063c1608d6e0baf80249c42e2be5804 = preg_replace("/^\"(.*)\"\$/s", "\$1", $v2063c1608d6e0baf80249c42e2be5804);
             $v2063c1608d6e0baf80249c42e2be5804 = trim($v2063c1608d6e0baf80249c42e2be5804);
             $v7f2db423a49b305459147332fb01cf87[$v3c6e0b8a9c15224a8228b9a98ca1531d] = $v2063c1608d6e0baf80249c42e2be5804;
         }
         if ($v4757fe07fd492a8be0ea6a760d683d6e < 4) {
             foreach ($v7f2db423a49b305459147332fb01cf87 as $v3c6e0b8a9c15224a8228b9a98ca1531d => $v2063c1608d6e0baf80249c42e2be5804) {
                 if ($v4757fe07fd492a8be0ea6a760d683d6e == 1) {
                     $this->names[$v3c6e0b8a9c15224a8228b9a98ca1531d] = $v2063c1608d6e0baf80249c42e2be5804;
                 } elseif ($v4757fe07fd492a8be0ea6a760d683d6e == 2) {
                     $this->titles[$v3c6e0b8a9c15224a8228b9a98ca1531d] = $v2063c1608d6e0baf80249c42e2be5804;
                 } elseif ($v4757fe07fd492a8be0ea6a760d683d6e == 3) {
                     $this->types[$v3c6e0b8a9c15224a8228b9a98ca1531d] = $v2063c1608d6e0baf80249c42e2be5804;
                 }
             }
         } else {
             if ($v4757fe07fd492a8be0ea6a760d683d6e - 4 < $this->offset) {
                 continue;
             }
             if ($v95723b5e620e47cf613462b9f293282a + 1 > $this->block_size) {
                 break;
             }
             $v95723b5e620e47cf613462b9f293282a++;
             $this->addElementInfo($v9a09b4dfda82e3e665e31092d1c3ec8d, $v7f2db423a49b305459147332fb01cf87);
         }
     }
     if (feof($ve1260894f59eeae98c8440899de4df8d)) {
         $v7aa28ed115707345d0274032757e8991 = false;
     }
     $this->offset += $v95723b5e620e47cf613462b9f293282a;
     if (!$v7aa28ed115707345d0274032757e8991) {
         $this->complete = true;
     }
     return $v9a09b4dfda82e3e665e31092d1c3ec8d;
 }
Esempio n. 14
0
 public function uploadfile()
 {
     $this->flushAsXml('uploadfile');
     $this->setupCwd();
     $quota_byte = getBytesFromString(mainConfiguration::getInstance()->get('system', 'quota-files-and-images'));
     if ($quota_byte != 0) {
         $all_size = getBusyDiskSize(array('/files', '/images'));
         if ($all_size >= $quota_byte) {
             return array('attribute:folder' => substr($this->cwd, strlen(CURRENT_WORKING_DIR)), 'attribute:upload' => 'error', 'nodes:error' => array('Ошибка: превышено ограничение на размер дискового пространства'));
         }
     }
     if (is_demo()) {
         return array('attribute:folder' => substr($this->cwd, strlen(CURRENT_WORKING_DIR)), 'attribute:upload' => 'done');
     }
     if (isset($_FILES['Filedata']['name'])) {
         foreach ($_FILES['Filedata'] as $k => $v) {
             $_FILES['Filedata'][$k] = array('upload' => $v);
         }
         $file = umiFile::upload('Filedata', 'upload', $this->cwd);
     } elseif (isset($_REQUEST['filename'])) {
         $file = umiFile::upload(false, false, $this->cwd);
     }
     $cwd = substr($this->cwd, strlen(CURRENT_WORKING_DIR));
     $result = array('attribute:folder' => $cwd, 'attribute:upload' => 'done');
     if ($file) {
         $item = $this->cwd . "/" . $file->getFileName();
         // Collect some file info
         $imageExt = array("jpg", "jpeg", "gif", "png");
         $sizeMeasure = array("b", "Kb", "Mb", "Gb", "Tb");
         $name = $file->getFileName();
         $type = strtolower($file->getExt());
         $ts = $file->getModifyTime();
         $time = date('g:i, d.m.Y', $ts);
         $size = $file->getSize();
         $path = $file->getFilePath(true);
         if (isset($_REQUEST['imagesOnly']) && !in_array($type, $imageExt)) {
             unlink($item);
             return $result;
         }
         $file = array('attribute:name' => $name, 'attribute:type' => $type, 'attribute:size' => $size, 'attribute:ctime' => $time, 'attribute:timestamp' => $ts, 'attribute:path' => $path);
         $i = 0;
         while ($size > 1024.0) {
             $size /= 1024;
             $i++;
         }
         $convertedSize = (int) round($size);
         if ($convertedSize == 1 && (int) floor($size) != $convertedSize) {
             $i++;
         }
         $file['attribute:converted-size'] = $convertedSize . $sizeMeasure[$i];
         if (in_array($type, $imageExt)) {
             if ($info = @getimagesize($item)) {
                 umiImageFile::addWatermark("." . $cwd . "/" . $name);
                 $file['attribute:mime'] = $info['mime'];
                 $file['attribute:width'] = $info[0];
                 $file['attribute:height'] = $info[1];
             } else {
                 unlink($item);
                 return $result;
             }
         } else {
             //$file['attribute:mime']   = mime_content_type($item);
         }
         $result["file"] = $file;
     }
     return $result;
 }
 /**
  * TODO PHPDoc
  * Enter description here ...
  * @param unknown_type $object_id
  * @param unknown_type $is_new
  * @param unknown_type $b_force_owner
  * @param unknown_type $all
  */
 public function saveEditedObject($object_id, $is_new = false, $b_force_owner = false, $all = false)
 {
     global $_FILES;
     $cmsController = cmsController::getInstance();
     $permissions = permissionsCollection::getInstance();
     if (!($object = umiObjectsCollection::getInstance()->getObject($object_id))) {
         return false;
     }
     if (!$b_force_owner && !$permissions->isOwnerOfObject($object_id)) {
         return false;
     }
     $object_type_id = $object->getTypeId();
     $object_type = umiObjectTypesCollection::getInstance()->getType($object_type_id);
     $key = $is_new ? "new" : $object_id;
     if (is_null(getRequest('data'))) {
         if (is_null($_FILES)) {
             return true;
         } else {
             $_REQUEST['data'][$key] = array();
         }
     }
     $data = isset($_REQUEST['data'][$key]) ? $_REQUEST['data'][$key] : array();
     foreach ($_REQUEST as $skey => $value) {
         $real_key = substr($skey, 7);
         if (substr($skey, 0, 7) == 'select_' && !isset($data[$real_key])) {
             $data[$real_key] = $value;
         }
     }
     if (isset($_FILES['data']['tmp_name'][$key])) {
         foreach ($_FILES['data']['tmp_name'][$key] as $i => $v) {
             $data[$i] = $v;
         }
     }
     $data = $this->checkRequiredData($object_type, $data, $object_id, $is_new);
     $data = $this->checkAllowedData($object_type, $data);
     foreach ($data as $field_name => $field_value) {
         if (!($field_id = $object_type->getFieldId($field_name))) {
             continue;
         }
         $field = umiFieldsCollection::getInstance()->getField($field_id);
         if (!$field->getIsVisible() && !$all) {
             //continue;
         }
         $field_type = $field->getFieldType();
         $data_type = $field_type->getDataType();
         $fldr_name = $field_name . '/';
         switch ($data_type) {
             case "password":
                 if (isset($field_value[1])) {
                     $field_value = $field_value[0] == $field_value[1] ? md5($field_value[0]) : NULL;
                 } else {
                     if (is_array($field_value)) {
                         $field_value = $field_value[0] ? md5($field_value[0]) : NULL;
                     } else {
                         $field_value = $field_value ? md5($field_value) : NULL;
                     }
                 }
                 break;
             case "date":
                 $oDate = new umiDate();
                 $oDate->setDateByString($field_value);
                 $field_value = $oDate;
                 break;
             case "img_file":
                 switch ($field_name) {
                     case "menu_pic_ua":
                         $destination_folder = "./images/cms/menu/";
                         break;
                     case "header_pic":
                         $destination_folder = "./images/cms/headers/";
                         break;
                     case "menu_pic_a":
                         $destination_folder = "./images/cms/menu/";
                         break;
                     default:
                         $destination_folder = "./images/cms/data/";
                         break;
                 }
                 // TODO: вставить проверку на необходимость наложения на картинку водного знака (by lauri)
                 $oldValue = $object->getValue($field_name);
                 if ($value = umiImageFile::upload("data", $field_name, substr($destination_folder, 2), $key)) {
                     $field_value = $value;
                 } else {
                     $file_name = substr($field_value, 0, 2) == "./" ? $field_value : $destination_folder . $field_value;
                     $field_value = new umiImageFile($file_name);
                 }
                 break;
             case "video_file":
             case "swf_file":
                 $destination_folder = "./files/" . (is_dir("./files/" . $fldr_name) ? $fldr_name : '');
                 if ($value = umiFile::upload("data", $field_name, $destination_folder, $key)) {
                     $field_value = $value;
                 } else {
                     $oldvalue = $object->getValue($field_name);
                     if ($oldvalue) {
                         $destination_folder = $oldvalue->getDirName() . "/";
                     }
                     $file_name = substr($field_value, 0, 2) == "./" ? $field_value : $destination_folder . $field_value;
                     $field_value = new umiFile($file_name);
                 }
                 break;
             case "file":
                 $destination_folder = "./files/" . (is_dir("./files/" . $fldr_name) ? $fldr_name : '');
                 if ($value = umiFile::upload("data", $field_name, $destination_folder, $key)) {
                     $field_value = $value;
                 } else {
                     $oldvalue = $object->getValue($field_name);
                     if ($oldvalue) {
                         $destination_folder = $oldvalue->getDirName() . "/";
                     }
                     $file_name = substr($field_value, 0, 2) == "./" ? $field_value : $destination_folder . $field_value;
                     $field_value = new umiFile($file_name);
                 }
                 break;
             case "string":
             case "text":
             case "wysiwyg":
                 if ($cmsController->getCurrentMode() != "admin") {
                     $field_value = strip_tags($field_value);
                 }
                 break;
         }
         $object->setValue($field_name, $field_value);
     }
     $object->commit();
     return true;
 }
Esempio n. 16
0
 public function addPhotoFromZip($filename)
 {
     $hierarchy = umiHierarchy::getInstance();
     $hierarchyTypes = umiHierarchyTypesCollection::getInstance();
     $objectTypes = umiObjectTypesCollection::getInstance();
     $cmsController = cmsController::getInstance();
     $parent_id = (int) getRequest("parent_id");
     $basename = basename($filename);
     $title = substr($basename, 0, strrpos($basename, '.'));
     $parentElement = $hierarchy->getElement($parent_id);
     if ($parentElement) {
         $tpl_id = $parentElement->getTplId();
         $domain_id = $parentElement->getDomainId();
         $lang_id = $parentElement->getLangId();
         $hierarchy_type_id = $hierarchyTypes->getTypeByName("photoalbum", "photo")->getId();
         $object_type_id = $objectTypes->getBaseType("photoalbum", "photo");
         $object_type = $objectTypes->getType($object_type_id);
         if ($object_type->getHierarchyTypeId() != $hierarchy_type_id) {
             $this->errorNewMessage("Object type and hierarchy type doesn't match");
             $this->errorPanic();
         }
         $file = new umiFile($filename);
         if ($file->getIsBroken()) {
             return false;
         }
         $element_id = $hierarchy->addElement($parent_id, $hierarchy_type_id, $title, $title, $object_type_id, $domain_id, $lang_id, $tpl_id);
         permissionsCollection::getInstance()->setDefaultPermissions($element_id);
         $element = $hierarchy->getElement($element_id, true);
         $element->setIsActive(true);
         $element->setIsVisible(false);
         $element->setName($title);
         $element->setValue("photo", $file);
         $element->setValue("create_time", time());
         $element->commit();
         $parentElement->setUpdateTime(time());
         $parentElement->commit();
     }
     return true;
 }
Esempio n. 17
0
    public function post()
    {
        if (defined('CURRENT_VERSION_LINE') && CURRENT_VERSION_LINE == 'demo') {
            $url = getRequest('ref_onsuccess');
            if (!$url) {
                $url = $this->pre_lang . "/webforms/posted/";
            }
            $this->redirect($url);
        }
        global $_FILES;
        $iOldErrorReportingLevel = error_reporting(~E_ALL & ~E_STRICT);
        $res = "";
        $email_to = getRequest('email_to');
        $message = getRequest('message');
        $data = getRequest('data');
        $domain = getRequest('domain');
        $subject = cmsController::getInstance()->getCurrentDomain()->getHost();
        $referer_url = $_SERVER['HTTP_REFERER'];
        $this->errorRegisterFailPage($referer_url);
        // check captcha
        if (isset($_REQUEST['captcha'])) {
            $_SESSION['user_captcha'] = md5((int) $_REQUEST['captcha']);
        }
        if (!umiCaptcha::checkCaptcha()) {
            $this->errorNewMessage("%errors_wrong_captcha%");
            $this->errorPanic();
        }
        $sRecipientName = "administrator";
        if (is_numeric($email_to)) {
            $to = $this->guessAddressValue($email_to);
            if (intval($to) != $email_to) {
                $sRecipientName = $this->guessAddressName($email_to);
            } else {
                $oTCollection = umiObjectTypesCollection::getInstance();
                $iTypeId = $oTCollection->getBaseType('webforms', 'address');
                $oType = $oTCollection->getType($iTypeId);
                $iFieldId = $oType->getFieldId('insert_id');
                $oSelection = new umiSelection();
                $oSelection->addObjectType($iTypeId);
                $oSelection->addPropertyFilterEqual($iFieldId, $email_to);
                $aIDs = umiSelectionsParser::runSelection($oSelection);
                if (count($aIDs)) {
                    $oObject = umiObjectsCollection::getInstance()->getObject($aIDs[0]);
                    $to = $oObject->getValue('address_list');
                    $sRecipientName = $oObject->getValue('address_description');
                } else {
                    if (!defined("DB_DRIVER") || DB_DRIVER != "xml") {
                        $sql = "SELECT email, descr FROM cms_webforms WHERE id={$email_to}";
                        $result = l_mysql_query($sql);
                        list($to, $sRecipientName) = mysql_fetch_row($result);
                    } else {
                        $this->redirect($this->pre_lang . "/webforms/posted/?template=error_no_recipient");
                    }
                }
            }
        } else {
            $this->checkAddressExistence($email_to);
            $to = $email_to;
        }
        if (!$data['email_from'] && isset($data['email'])) {
            $data['email_from'] = $data['email'];
        }
        $someMail = new umiMail();
        $arrMails = explode(",", $to);
        $arrMails = array_map("trim", $arrMails);
        foreach ($arrMails as $sEmail) {
            $someMail->addRecipient($sEmail, $sRecipientName);
        }
        $from = $data['fname'] . " " . $data['lname'];
        $someMail->setFrom($data['email_from'], $from);
        $mess = "";
        if (is_array($data)) {
            if (isset($data['subject'])) {
                $subject = $data['subject'];
            }
            if (isset($data['fio'])) {
                $from = $data['fio'];
            }
            if ($data['fname'] || $data['lname'] || $data['mname']) {
                $from = $data['lname'] . " " . $data['fname'] . " " . $data['mname'];
            }
            if ($data['fio_frm']) {
                $from = $data['fio_frm'];
            }
            if ($email_from = $data['email_from']) {
                $email_from = $data['email_from'];
            }
            $mess = <<<END

<table border="0" width="100%">

END;
            if (is_array($_FILES['data']['name'])) {
                $data = array_merge($data, $_FILES['data']['name']);
            }
            $uploadDir = CURRENT_WORKING_DIR . "/sys-temp/uploads";
            if (!is_dir($uploadDir)) {
                mkdir($uploadDir);
            }
            $max_size = getBytesFromString(mainConfiguration::getInstance()->get('system', 'quota-files-and-images'));
            if ($max_size != 0) {
                $summary_size = getBusyDiskSize(array('/images', '/files', '/sys-temp/uploads'));
            }
            foreach ($data as $field => $cont) {
                if ($filename = $_FILES['data']['name'][$field]) {
                    if ($max_size == 0 || $summary_size + $_FILES['data']['size'][$field] <= $max_size) {
                        $file = umiFile::upload('data', $field, $uploadDir);
                        if (!$file) {
                            $this->errorNewMessage("%errors_wrong_file_type%");
                            $this->errorPanic();
                        }
                        $someMail->attachFile($file);
                        $summary_size += $_FILES['data']['size'][$field];
                    } else {
                        $cont = def_module::parseTPLMacroses("%not_enough_space_for_load_file%");
                    }
                }
                if (!is_array($cont)) {
                    $cont = str_replace("%", "&#37;", $cont);
                }
                if (!$cont) {
                    $cont = "&mdash;";
                }
                if (is_array($cont)) {
                    foreach ($cont as $i => $v) {
                        $cont[$i] = str_replace("%", "&#37;", $v);
                    }
                    $cont = implode(", ", $cont);
                }
                $label = $_REQUEST['labels'][$field] ? $_REQUEST['labels'][$field] : "%" . $field . "%";
                $mess .= <<<END

\t<tr>
\t\t<td width="30%">
\t\t\t{$label}:
\t\t</td>

\t\t<td>
\t\t\t{$cont}
\t\t</td>
\t</tr>

END;
            }
            $mess .= <<<END

</table>
<hr />

END;
        }
        if ($from) {
            $user_fio_from = $from;
        }
        $message = str_replace("%", "&#37;", $message);
        $mess .= nl2br($message);
        if (!$from) {
            $from = regedit::getInstance()->getVal("//settings/fio_from");
        }
        if (!$from_email) {
            $from_email = regedit::getInstance()->getVal("//settings/email_from");
        }
        $from = $from . "<" . $from_email . ">";
        $someMail->setSubject($subject);
        $someMail->setContent($mess);
        $someMail->commit();
        $someMail->send();
        if ($template = (string) $_REQUEST['template']) {
            //Sending auto-reply
            list($template_mail, $template_mail_subject) = def_module::loadTemplatesForMail("webforms/" . $template, "webforms_reply_mail", "webforms_reply_mail_subject");
            $template_mail = def_module::parseTemplateForMail($template_mail, $arr);
            $template_mail_subject = def_module::parseTemplateForMail($template_mail, $arr);
            $check_param = false;
            if (!is_array($template_mail)) {
                if ((bool) strlen($template_mail)) {
                    $check_param = true;
                }
            }
            if ($check_param) {
                $email_from = regedit::getInstance()->getVal("//settings/email_from");
                $fio_from = regedit::getInstance()->getVal("//settings/fio_from");
                $replyMail = new umiMail();
                $replyMail->addRecipient($data['email_from'], $from);
                $replyMail->setFrom($email_from, $fio_from);
                $replyMail->setSubject($template_mail_subject);
                $replyMail->setContent($template_mail);
                $replyMail->commit();
                $replyMail->send();
            }
        }
        $oEventPoint = new umiEventPoint("webforms_post");
        $oEventPoint->setMode("after");
        $oEventPoint->setParam("email", $data['email_from']);
        $oEventPoint->setParam("fio", $user_fio_from);
        $this->setEventPoint($oEventPoint);
        $url = getRequest('ref_onsuccess');
        if (!$url) {
            $url = $this->pre_lang . "/webforms/posted/";
        }
        if ($template) {
            $url .= (strpos($url, '?') === false ? '?' : '&') . "template=" . $template;
        }
        error_reporting($iOldErrorReportingLevel);
        $this->redirect($url);
    }
Esempio n. 18
0
 public function picasa()
 {
     global $_FILES;
     $rss = getRequest('rss');
     $_SESSION['picasa_rss'] = getRequest('rss');
     if (!$rss) {
         $cacheDirectory = mainConfiguration::getInstance()->includeParam('system.runtime-cache');
         if (is_file($cacheDirectory . "picasa")) {
             $rss = unserialize(file_get_contents($cacheDirectory . "picasa"));
         }
     }
     $mode = (string) getRequest("param0");
     if ($mode == "files") {
         $targetFolder = (string) getRequest('folder-name');
         $targetFolder = "./images/cms/data/" . $targetFolder;
         $folderExists = umiDirectory::requireFolder($targetFolder, "./images/cms/data/");
         $this->setDataType("list");
         $data = array('target-folder' => $targetFolder);
         $this->setActionType("view");
         $this->setData($data);
         return $this->doData();
     }
     if ($mode == "do") {
         header("Content-type: text/html");
         $targetFolder = "picasa";
         switch ($action = getRequest('action-mode')) {
             case "new":
                 $title = (string) getRequest('new-title');
                 $body = (string) getRequest('new-body');
                 $elementId = (int) $this->addNewPicasaPhotoalbum($title, $body);
                 break;
             case "add":
                 $elementId = (int) getRequest('photoalbum-id');
                 break;
             case "put":
                 $elementId = false;
                 $targetFolder = (string) getRequest('folder-name');
                 break;
             default:
                 throw new publicAdminException("Unkown action \"{$action}\"");
         }
         if ($elementId) {
             $element = selector::get('page')->id($elementId);
             if ($element) {
                 $targetFolder = $element->getAltName();
             }
         }
         $targetFolder = "./images/cms/data/" . $targetFolder;
         $folderExists = umiDirectory::requireFolder($targetFolder, "./images/cms/data/");
         if (!$folderExists) {
             throw new publicAdminException("Folder \"{$targetFolder}\" doesn't exists");
         }
         $titles = getRequest('title');
         if (defined('CURRENT_VERSION_LINE') && CURRENT_VERSION_LINE != 'demo') {
             $i = 0;
             foreach ($_FILES as $key => $info) {
                 if ($info['error']) {
                     continue;
                 }
                 $name = $info['name'];
                 $key = str_replace("?size=640", "", $key);
                 $key = str_replace("_jpg", ".jpg", $key);
                 $title = $titles[$i++];
                 $file = umiFile::manualUpload($name, $info['tmp_name'], $info['size'], $targetFolder);
                 if ($elementId && $file instanceof umiFile) {
                     if ($file->getIsBroken()) {
                         throw new publicAdminException("Image is broken");
                     }
                     $this->addPicasaPhoto($elementId, $info['name'], $title, $file);
                 }
             }
         } else {
             throw new publicAdminException("Forbidden in demo-mode");
         }
         switch ($action) {
             case "put":
                 header("Content-type: text/plain");
                 $folderName = (string) getRequest('folder-name');
                 echo "http://" . getServer('HTTP_HOST') . "/admin/photoalbum/picasa/files/?folder-name=" . $folderName;
                 exit;
                 break;
             default:
                 header("Content-type: text/plain");
                 if ($elementId) {
                     $force = umiHierarchy::getInstance()->forceAbsolutePath(true);
                     $link = umiHierarchy::getInstance()->getPathById($elementId);
                     echo $link;
                     umiHierarchy::getInstance()->forceAbsolutePath($force);
                 }
                 exit;
         }
     }
     $this->setDataType("list");
     $this->setActionType("create");
     $data = array('xml:picasa-rss' => $rss);
     $this->setData($data);
     return $this->doData();
 }
Esempio n. 19
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;
 }
 public function export($v92ec19ffde05e15769b1bb3ee05ad745)
 {
     set_time_limit(0);
     if (!count($v92ec19ffde05e15769b1bb3ee05ad745)) {
         $v8be74552df93e31bbdd6b36ed74bdb6a = new selector('pages');
         $v8be74552df93e31bbdd6b36ed74bdb6a->where('hierarchy')->page(0)->childs(0);
         $v92ec19ffde05e15769b1bb3ee05ad745 = $v8be74552df93e31bbdd6b36ed74bdb6a->result;
     }
     if (getRequest('as_file') === '0') {
         $ved780287e302ec3b9fd3c5e78771919f = new xmlExporter($this->getSourceName());
         $ved780287e302ec3b9fd3c5e78771919f->addBranches($v92ec19ffde05e15769b1bb3ee05ad745);
         $result = $ved780287e302ec3b9fd3c5e78771919f->execute();
         return $result->saveXML();
     }
     $v857a5246dff0c3c79e476b004684f6d3 = "./sys-temp/export/";
     $vb80bb7740288fda1f201890375a60c8f = getRequest('param0');
     $v97fd815a3803a0588876bdd862014fed = $v857a5246dff0c3c79e476b004684f6d3 . $vb80bb7740288fda1f201890375a60c8f . "." . parent::getFileExt();
     $v6990a54322d9232390a784c5c9247dd6 = $v857a5246dff0c3c79e476b004684f6d3 . $vb80bb7740288fda1f201890375a60c8f;
     if (!is_dir($v6990a54322d9232390a784c5c9247dd6)) {
         mkdir($v6990a54322d9232390a784c5c9247dd6, 0777, true);
     }
     if (file_exists($v97fd815a3803a0588876bdd862014fed) && !file_exists(CURRENT_WORKING_DIR . '/sys-temp/runtime-cache/' . md5($this->getSourceName()))) {
         unlink($v97fd815a3803a0588876bdd862014fed);
     }
     if ($v92ec19ffde05e15769b1bb3ee05ad745) {
         $v33030abc929f083da5f6c3f755b46034 = array('./tpls/', './xsltTpls/', './css/', './js/', './usels/', './umaps/', './templates/');
         foreach ($v33030abc929f083da5f6c3f755b46034 as $v100664c6e2c0333b19a729f2f3ddb7dd) {
             if (is_dir($v100664c6e2c0333b19a729f2f3ddb7dd)) {
                 $v736007832d2167baaae763fd3a3f3cf1 = new umiDirectory($v100664c6e2c0333b19a729f2f3ddb7dd);
                 $v45b963397aa40d4a0063e0d85e4fe7a1 = $v736007832d2167baaae763fd3a3f3cf1->getAllFiles(1);
                 foreach ($v45b963397aa40d4a0063e0d85e4fe7a1 as $vd6fe1d0be6347b8ef2427fa629c04485 => $vb068931cc450442b63f5b3d276ea4297) {
                     $v8c7dd922ad47494fc02c388e12c00eac = new umiFile($vd6fe1d0be6347b8ef2427fa629c04485);
                     if (!is_dir($v6990a54322d9232390a784c5c9247dd6 . ltrim($v8c7dd922ad47494fc02c388e12c00eac->getDirName(), '.'))) {
                         mkdir($v6990a54322d9232390a784c5c9247dd6 . ltrim($v8c7dd922ad47494fc02c388e12c00eac->getDirName(), '.'), 0777, true);
                     }
                     copy($v8c7dd922ad47494fc02c388e12c00eac->getFilePath(), $v6990a54322d9232390a784c5c9247dd6 . $v8c7dd922ad47494fc02c388e12c00eac->getFilePath(true));
                 }
             }
         }
     }
     $v71b70dd1e455c477220693d84ccd5682 = $v97fd815a3803a0588876bdd862014fed . '.tmp';
     $v480d1b61a0432d1319f7504a3d7318dd = (int) mainConfiguration::getInstance()->get("modules", "exchange.export.limit");
     if ($v480d1b61a0432d1319f7504a3d7318dd <= 0) {
         $v480d1b61a0432d1319f7504a3d7318dd = 25;
     }
     $ved780287e302ec3b9fd3c5e78771919f = new xmlExporter($this->getSourceName(), $v480d1b61a0432d1319f7504a3d7318dd);
     $ved780287e302ec3b9fd3c5e78771919f->addBranches($v92ec19ffde05e15769b1bb3ee05ad745);
     $vdd988cfd769c9f7fbd795a0f5da8e751 = $ved780287e302ec3b9fd3c5e78771919f->execute();
     if (file_exists($v97fd815a3803a0588876bdd862014fed)) {
         $v1de9b0a30075ae8c303eb420c103c320 = new XMLReader();
         $va82feee3cc1af8bcabda979e8775ef0f = new XMLWriter();
         $v1de9b0a30075ae8c303eb420c103c320->open($v97fd815a3803a0588876bdd862014fed);
         $va82feee3cc1af8bcabda979e8775ef0f->openURI($v71b70dd1e455c477220693d84ccd5682);
         $va82feee3cc1af8bcabda979e8775ef0f->startDocument('1.0', 'utf-8');
         $va82feee3cc1af8bcabda979e8775ef0f->startElement('umidump');
         $va82feee3cc1af8bcabda979e8775ef0f->writeAttribute('version', '2.0');
         $va82feee3cc1af8bcabda979e8775ef0f->writeAttribute('xmlns:xlink', 'http://www.w3.org/TR/xlink');
         $v7aa28ed115707345d0274032757e8991 = $v1de9b0a30075ae8c303eb420c103c320->read();
         while ($v7aa28ed115707345d0274032757e8991) {
             if ($v1de9b0a30075ae8c303eb420c103c320->nodeType == XMLReader::ELEMENT) {
                 $ve24455211a964330063a18670d943835 = $v1de9b0a30075ae8c303eb420c103c320->name;
                 if ($ve24455211a964330063a18670d943835 != 'umidump') {
                     $va82feee3cc1af8bcabda979e8775ef0f->startElement($ve24455211a964330063a18670d943835);
                     if ($ve24455211a964330063a18670d943835 != 'meta') {
                         if (!$v1de9b0a30075ae8c303eb420c103c320->isEmptyElement) {
                             $v7852ddca47412c0d947ebf27eb83ed3a = $v1de9b0a30075ae8c303eb420c103c320->read();
                             while ($v7852ddca47412c0d947ebf27eb83ed3a) {
                                 if ($v1de9b0a30075ae8c303eb420c103c320->nodeType == XMLReader::ELEMENT) {
                                     $vcf7f5c76225a101e6320a96c02f92fc1 = $v1de9b0a30075ae8c303eb420c103c320->name;
                                     $va82feee3cc1af8bcabda979e8775ef0f->writeRaw($v1de9b0a30075ae8c303eb420c103c320->readOuterXML());
                                     $v7852ddca47412c0d947ebf27eb83ed3a = $v1de9b0a30075ae8c303eb420c103c320->next();
                                 } elseif ($v1de9b0a30075ae8c303eb420c103c320->nodeType == XMLReader::END_ELEMENT && $v1de9b0a30075ae8c303eb420c103c320->name == $ve24455211a964330063a18670d943835) {
                                     $v7852ddca47412c0d947ebf27eb83ed3a = false;
                                 } else {
                                     $v7852ddca47412c0d947ebf27eb83ed3a = $v1de9b0a30075ae8c303eb420c103c320->next();
                                 }
                             }
                         }
                         if ($vdd988cfd769c9f7fbd795a0f5da8e751->getElementsByTagName($ve24455211a964330063a18670d943835)->item(0)->hasChildNodes()) {
                             $v268184c12df027f536154d099d497b31 = $vdd988cfd769c9f7fbd795a0f5da8e751->getElementsByTagName($ve24455211a964330063a18670d943835)->item(0)->childNodes;
                             foreach ($v268184c12df027f536154d099d497b31 as $v1b7d5726533ab525a8760351e9b5e415) {
                                 $va5e171f642af8e3bd24c50cdc4d66fe3 = new DOMDocument();
                                 $va5e171f642af8e3bd24c50cdc4d66fe3->formatOutput = true;
                                 $v36c4536996ca5615dcf9911f068786dc = $va5e171f642af8e3bd24c50cdc4d66fe3->importNode($v1b7d5726533ab525a8760351e9b5e415, true);
                                 $va5e171f642af8e3bd24c50cdc4d66fe3->appendChild($v36c4536996ca5615dcf9911f068786dc);
                                 $va82feee3cc1af8bcabda979e8775ef0f->writeRaw($va5e171f642af8e3bd24c50cdc4d66fe3->saveXML($v36c4536996ca5615dcf9911f068786dc, LIBXML_NOXMLDECL));
                             }
                         }
                     } elseif ($ve24455211a964330063a18670d943835 == 'meta') {
                         $va82feee3cc1af8bcabda979e8775ef0f->writeRaw($v1de9b0a30075ae8c303eb420c103c320->readInnerXML());
                         $v92ec19ffde05e15769b1bb3ee05ad745 = $vdd988cfd769c9f7fbd795a0f5da8e751->getElementsByTagName('branches');
                         if ($v92ec19ffde05e15769b1bb3ee05ad745->item(0)) {
                             $va82feee3cc1af8bcabda979e8775ef0f->writeRaw($vdd988cfd769c9f7fbd795a0f5da8e751->saveXML($v92ec19ffde05e15769b1bb3ee05ad745->item(0), LIBXML_NOXMLDECL));
                         }
                     }
                     $va82feee3cc1af8bcabda979e8775ef0f->fullEndElement();
                     $v7aa28ed115707345d0274032757e8991 = $v1de9b0a30075ae8c303eb420c103c320->next();
                     continue;
                 }
             }
             $v7aa28ed115707345d0274032757e8991 = $v1de9b0a30075ae8c303eb420c103c320->read();
         }
         $va82feee3cc1af8bcabda979e8775ef0f->fullEndElement();
         $v1de9b0a30075ae8c303eb420c103c320->close();
         $va82feee3cc1af8bcabda979e8775ef0f->endDocument();
         $va82feee3cc1af8bcabda979e8775ef0f->flush();
         unlink($v97fd815a3803a0588876bdd862014fed);
         rename($v71b70dd1e455c477220693d84ccd5682, $v97fd815a3803a0588876bdd862014fed);
     } else {
         file_put_contents($v97fd815a3803a0588876bdd862014fed, $vdd988cfd769c9f7fbd795a0f5da8e751->saveXML());
     }
     $this->completed = $ved780287e302ec3b9fd3c5e78771919f->isCompleted();
     return false;
 }
 public function getExpectedParam($v57289251b219b7784ca956e1cc149ea0, $v63235cb515d30fdbbe1cd6beef1e210f, $veca07335a33c5aeb5e1bc7c98b4b9d80 = NULL)
 {
     global $_FILES;
     $v2063c1608d6e0baf80249c42e2be5804 = getRequest($v57289251b219b7784ca956e1cc149ea0);
     if ($v63235cb515d30fdbbe1cd6beef1e210f == "status") {
         return NULL;
     }
     if (is_null($v2063c1608d6e0baf80249c42e2be5804) && !in_array($v63235cb515d30fdbbe1cd6beef1e210f, array('file', 'weak_guide'))) {
         throw new requireAdminParamException("I expect value in request for param \"" . $v57289251b219b7784ca956e1cc149ea0 . "\"");
     }
     switch ($v63235cb515d30fdbbe1cd6beef1e210f) {
         case "float":
             return (double) $v2063c1608d6e0baf80249c42e2be5804;
         case "bool":
         case "boolean":
         case "templates":
         case "guide":
         case "weak_guide":
         case "int":
             return (int) $v2063c1608d6e0baf80249c42e2be5804;
         case "password":
             $v2063c1608d6e0baf80249c42e2be5804 = $v2063c1608d6e0baf80249c42e2be5804 == "********" ? NULL : (string) $v2063c1608d6e0baf80249c42e2be5804;
             if ($v2063c1608d6e0baf80249c42e2be5804) {
                 try {
                     $vc1070685cc705de2c6ef676e1b41d257 = new umiOpenSSL();
                     $v52fcb0450476610e7d8a870e84e3ea54 = $vc1070685cc705de2c6ef676e1b41d257->supplyDefaultKeyFiles();
                     if ($v52fcb0450476610e7d8a870e84e3ea54) {
                         $v2063c1608d6e0baf80249c42e2be5804 = 'umipwd_b64::' . base64_encode($vc1070685cc705de2c6ef676e1b41d257->encrypt($v2063c1608d6e0baf80249c42e2be5804));
                     } else {
                         $v2063c1608d6e0baf80249c42e2be5804 = NULL;
                     }
                 } catch (publicException $ve1671797c52e15f763380b45e841ec32) {
                     $v2063c1608d6e0baf80249c42e2be5804 = NULL;
                 }
             }
             return $v2063c1608d6e0baf80249c42e2be5804;
         case "email":
         case "status":
         case "string":
             return (string) $v2063c1608d6e0baf80249c42e2be5804;
         case "symlink":
             return serialize($v2063c1608d6e0baf80249c42e2be5804);
         case "file":
             $v5b396db1931f24274e64fafd2e60f961 = $veca07335a33c5aeb5e1bc7c98b4b9d80['destination-folder'];
             $vdb0f6f37ebeb6ea09489124345af2a45 = isset($veca07335a33c5aeb5e1bc7c98b4b9d80['group']) ? $veca07335a33c5aeb5e1bc7c98b4b9d80['group'] : "pics";
             if ($v2063c1608d6e0baf80249c42e2be5804 = umiFile::upload($vdb0f6f37ebeb6ea09489124345af2a45, $v57289251b219b7784ca956e1cc149ea0, $v5b396db1931f24274e64fafd2e60f961)) {
                 return $v2063c1608d6e0baf80249c42e2be5804;
             } else {
                 $vd6fe1d0be6347b8ef2427fa629c04485 = $v5b396db1931f24274e64fafd2e60f961 . getRequest('select_' . $v57289251b219b7784ca956e1cc149ea0);
                 return new umiFile($vd6fe1d0be6347b8ef2427fa629c04485);
             }
             break;
         case "select":
             return $v2063c1608d6e0baf80249c42e2be5804;
             break;
         default:
             throw new wrongParamException("I don't expect param \"" . $v63235cb515d30fdbbe1cd6beef1e210f . "\"");
     }
 }