Exemplo n.º 1
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);
             }
         }
     }
 }
Exemplo n.º 2
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);
 }
Exemplo n.º 3
0
 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;
 }
 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/");
 }
Exemplo n.º 5
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;
 }
 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);
     }
 }
Exemplo n.º 7
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);
 }
Exemplo n.º 8
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);
    }
 /**
  * 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;
 }
Exemplo n.º 10
0
 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 . "\"");
     }
 }