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 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); }
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/"); }
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); } }
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); }
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("%", "%", $cont); } if (!$cont) { $cont = "—"; } if (is_array($cont)) { foreach ($cont as $i => $v) { $cont[$i] = str_replace("%", "%", $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("%", "%", $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; }
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 . "\""); } }