public function send() { $this->sendHeaders(); $buffer = $this->buffer; if ($this->sendEventEnable) { $eventPoint = new umiEventPoint('systemBufferSend'); $eventPoint->setMode('before'); $eventPoint->addRef('buffer', $buffer); $eventPoint->call(); } echo $buffer; $this->clear(); }
public function edit() { // Указываем, что в первом параметре мы ожидаем id страницы // Если все хорошо, то нам вернется umiHierarchyElement, если нет, // то будет выброшен соответствующий exception $element = $this->expectElement("param0"); $mode = (string) getRequest('param1'); $this->setHeaderLabel("header-forum-edit-" . $this->getObjectTypeMethod($element->getObject())); $inputData = array("element" => $element, "allowed-element-types" => array('conf', 'topic', 'message')); if ($mode == "do") { $this->saveEditedElementData($inputData); $event = new umiEventPoint("systemSwitchElementActivity"); $event->addRef("element", $element); $event->setMode("after"); $event->call(); $this->chooseRedirect(); } // Вывод данных return $this->makeAdminOutputForm("modify", "page", $inputData); }
public function post_question() { $iPosted= getRequest('posted'); if(is_null($tickets = getSession('tickets'))) { $tickets = $_SESSION['tickets'] = Array(); } if ($iPosted) { $sPosted = getArrayKey($tickets, $iPosted); return $sPosted; } $referer_url = getServer('HTTP_REFERER'); $this->errorRegisterFailPage($referer_url); $parent_element_id = (int) getRequest('param0'); // input $email = htmlspecialchars(getRequest('email')); $nick = htmlspecialchars(getRequest('nick')); $title = htmlspecialchars(getRequest('title')); $question = htmlspecialchars(getRequest('question')); $ip = $_SERVER['REMOTE_ADDR']; if(!strlen($title)) { $this->errorNewMessage("%error_faq_required_title%"); $this->errorPanic(); } if(!strlen($question)) { $this->errorNewMessage("%error_faq_required_question%"); $this->errorPanic(); } if(!strlen($email)) { $users = cmsController::getInstance()->getModule("users"); if($users instanceof def_module) { $user_id = $users->user_id; if($user = umiObjectsCollection::getInstance()->getObject($user_id)) { $email = $user->getValue('e-mail'); } } } $referer_url = (string) $_SERVER['HTTP_REFERER']; $posttime = time(); $ip = $_SERVER['REMOTE_ADDR']; if (isset($_REQUEST['captcha'])) { $_SESSION['user_captcha'] = md5((int) getRequest('captcha')); } if (!umiCaptcha::checkCaptcha()) { $this->errorNewMessage("%errors_wrong_captcha%"); $this->errorPanic(); } // before add event point $oEventPoint = new umiEventPoint("faq_post_question"); $oEventPoint->setMode("before"); $oEventPoint->setParam("parent_element_id", $parent_element_id); $oEventPoint->setParam("test_captcha", umiCaptcha::checkCaptcha()); $this->setEventPoint($oEventPoint); // check captcha if (!umiCaptcha::checkCaptcha() || !$parent_element_id) { $this->redirect($referer_url); } $is_active = 0; if($oUsers = cmsController::getInstance()->getModule("users")) { if($oUsers->is_auth()) { $user_id = cmsController::getInstance()->getModule('users')->user_id; $iAuthorId = $oUsers->createAuthorUser($user_id); $is_active = $oUsers->isSv($user_id); } else { $iAuthorId = $oUsers->createAuthorGuest($nick, $email, $ip); } } $object_type_id = umiObjectTypesCollection::getInstance()->getBaseType("faq", "question"); $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("faq", "question")->getId(); $parentElement = umiHierarchy::getInstance()->getElement($parent_element_id); $tpl_id = $parentElement->getTplId(); $domain_id = $parentElement->getDomainId(); $lang_id = $parentElement->getLangId(); $element_id = umiHierarchy::getInstance()->addElement($parent_element_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); $element->setIsActive(false); $element->setIsVisible(false); $element->setValue("question", $question); $element->setValue("publish_time", $posttime); $element->getObject()->setName($title); $element->setValue("h1", $title); $element->setValue("author_id", $iAuthorId); $element->commit(); // send mails $from = regedit::getInstance()->getVal("//settings/fio_from"); $from_email = regedit::getInstance()->getVal("//settings/email_from"); $admin_email = regedit::getInstance()->getVal("//settings/admin_email"); list( $confirm_mail_subj_user, $confirm_mail_user, $confirm_mail_subj_admin, $confirm_mail_admin ) = def_module::loadTemplatesForMail("faq/default", "confirm_mail_subj_user", "confirm_mail_user", "confirm_mail_subj_admin", "confirm_mail_admin" ); // for admin $mail_arr = Array(); $mail_arr['domain'] = $domain = $_SERVER['HTTP_HOST']; $mail_arr['question'] = $question; $mail_arr['question_link'] = "http://" . $domain . $this->pre_lang. "/admin/faq/edit/" . $element_id . "/"; $mail_adm_subj = def_module::parseTemplateForMail($confirm_mail_subj_admin, $mail_arr); $mail_adm_content = def_module::parseTemplateForMail($confirm_mail_admin, $mail_arr); $confirmAdminMail = new umiMail(); $confirmAdminMail->addRecipient($admin_email); $confirmAdminMail->setFrom($email, $nick); $confirmAdminMail->setSubject($mail_adm_subj); $confirmAdminMail->setContent($mail_adm_content); $confirmAdminMail->commit(); $confirmAdminMail->send(); // for user $user_mail = Array(); $user_mail['domain'] = $domain = $_SERVER['HTTP_HOST']; $user_mail['question'] = $question; $user_mail['ticket'] = $element_id; $mail_usr_subj = def_module::parseTemplateForMail($confirm_mail_subj_user, $user_mail); $mail_usr_content = def_module::parseTemplateForMail($confirm_mail_user, $user_mail); $confirmMail = new umiMail(); $confirmMail->addRecipient($email); $confirmMail->setFrom($from_email, $from); $confirmMail->setSubject($mail_usr_subj); $confirmMail->setContent($mail_usr_content); $confirmMail->commit(); $confirmMail->send(); // after add event point $oEventPoint = new umiEventPoint("faq_post_question"); $oEventPoint->setMode("after"); $oEventPoint->setParam("element_id", $element_id); $this->setEventPoint($oEventPoint); $_SESSION['tickets'][$element_id] = $mail_usr_content; $this->redirect($this->pre_lang . '/faq/post_question/?posted=' . $element_id); }
protected function importObject(DOMElement $vcaf9b6b99962bf5c2264824231d7a40c) { $v61ce6a78cb3c8547fed20990c92edfe3 = $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('id'); if (!strlen($v61ce6a78cb3c8547fed20990c92edfe3)) { $this->reportError("Can't create object {$vb068931cc450442b63f5b3d276ea4297} with empty id"); return false; } $v1e0ca5b1252f1f6b1e0ac91be7e7219e = $vcaf9b6b99962bf5c2264824231d7a40c->hasAttribute('guid') ? $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('guid') : null; $vb068931cc450442b63f5b3d276ea4297 = $vcaf9b6b99962bf5c2264824231d7a40c->hasAttribute('name') ? $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('name') : null; $v5f6492d9717ccf1b8566bd4bc64110b6 = $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('type-id'); $vdff819de3d610895b1bdf4168281488c = $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('update-only') == '1'; $v1945c9a2a5e2ba6133f1db6757a35fcb = $vcaf9b6b99962bf5c2264824231d7a40c->getAttribute('locked'); $vdb6d9b451b818ccc9a449383f2f0c450 = umiObjectsCollection::getInstance(); $v953e1ee8066af1b7e55300750533ddc8 = umiObjectTypesCollection::getInstance(); $ve2fa538867c3830a859a5b17ab24644b = false; $vaf31437ce61345f416579830a98c91e5 = false; if (!is_null($v1e0ca5b1252f1f6b1e0ac91be7e7219e)) { $vaf31437ce61345f416579830a98c91e5 = $vdb6d9b451b818ccc9a449383f2f0c450->getObjectIdByGUID($v1e0ca5b1252f1f6b1e0ac91be7e7219e); if ($vaf31437ce61345f416579830a98c91e5 && $vaf31437ce61345f416579830a98c91e5 != $this->relations->getNewObjectIdRelation($this->source_id, $v61ce6a78cb3c8547fed20990c92edfe3)) { $this->relations->setObjectIdRelation($this->source_id, $v61ce6a78cb3c8547fed20990c92edfe3, $vaf31437ce61345f416579830a98c91e5); } } if (!$vaf31437ce61345f416579830a98c91e5) { $vaf31437ce61345f416579830a98c91e5 = $this->relations->getNewObjectIdRelation($this->source_id, $v61ce6a78cb3c8547fed20990c92edfe3); } if ($vaf31437ce61345f416579830a98c91e5 && $this->update_ignore) { $this->writeLog($this->getLabel('label-object') . " \"" . $vb068931cc450442b63f5b3d276ea4297 . "\" (#{$v61ce6a78cb3c8547fed20990c92edfe3}) " . $this->getLabel('label-already-exists')); return $vdb6d9b451b818ccc9a449383f2f0c450->getObject($vaf31437ce61345f416579830a98c91e5); } if (!$vaf31437ce61345f416579830a98c91e5) { if ($vdff819de3d610895b1bdf4168281488c) { return false; } if (!$vb068931cc450442b63f5b3d276ea4297) { $vb068931cc450442b63f5b3d276ea4297 = $v61ce6a78cb3c8547fed20990c92edfe3; } if (!strlen($v5f6492d9717ccf1b8566bd4bc64110b6)) { $this->reportError($this->getLabel('label-cannot-create-object') . " \"{$vb068931cc450442b63f5b3d276ea4297}\" (#{$v61ce6a78cb3c8547fed20990c92edfe3}): " . $this->getLabel('label-cannot-detect-type')); return false; } $v94757cae63fd3e398c0811a976dd6bbe = $this->relations->getNewTypeIdRelation($this->source_id, $v5f6492d9717ccf1b8566bd4bc64110b6); $v599dcce2998a6b40b1e38e8c6006cb0a = $v953e1ee8066af1b7e55300750533ddc8->getType($v94757cae63fd3e398c0811a976dd6bbe); if (!$v599dcce2998a6b40b1e38e8c6006cb0a instanceof umiObjectType) { $this->reportError($this->getLabel('label-cannot-create-object') . " \"{$vb068931cc450442b63f5b3d276ea4297}\" (#{$v61ce6a78cb3c8547fed20990c92edfe3}): " . $this->getLabel('label-cannot-detect-type') . " #{$v5f6492d9717ccf1b8566bd4bc64110b6}"); return false; } if ($this->demosite_mode) { $vacf567c9c3d6cf7c6e2cc0ce108e0631 = $v599dcce2998a6b40b1e38e8c6006cb0a->getHierarchyTypeId(); if ($vacf567c9c3d6cf7c6e2cc0ce108e0631) { $v89b0b9deff65f8b9cd1f71bc74ce36ba = umiHierarchyTypesCollection::getInstance()->getType($vacf567c9c3d6cf7c6e2cc0ce108e0631); if ($v89b0b9deff65f8b9cd1f71bc74ce36ba instanceof umiHierarchyType) { $v22884db148f0ffb0d830ba431102b0b5 = $v89b0b9deff65f8b9cd1f71bc74ce36ba->getModule(); if (!regedit::getInstance()->getVal("//modules/{$v22884db148f0ffb0d830ba431102b0b5}")) { return false; } } } } $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("exchangeOnAddObject"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("source_id", $this->source_id); $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("before"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("old_object_id", $v61ce6a78cb3c8547fed20990c92edfe3); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("object_info", $vcaf9b6b99962bf5c2264824231d7a40c); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("type", $v599dcce2998a6b40b1e38e8c6006cb0a); umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45); $vaf31437ce61345f416579830a98c91e5 = $vdb6d9b451b818ccc9a449383f2f0c450->addObject($vb068931cc450442b63f5b3d276ea4297, $v94757cae63fd3e398c0811a976dd6bbe, $v1945c9a2a5e2ba6133f1db6757a35fcb == 'locked' || $v1945c9a2a5e2ba6133f1db6757a35fcb == '1'); $this->relations->setObjectIdRelation($this->source_id, $v61ce6a78cb3c8547fed20990c92edfe3, $vaf31437ce61345f416579830a98c91e5); $ve2fa538867c3830a859a5b17ab24644b = true; } $va8cfde6331bd59eb2ac96f8911c4b666 = $vdb6d9b451b818ccc9a449383f2f0c450->getObject($vaf31437ce61345f416579830a98c91e5); if (!$va8cfde6331bd59eb2ac96f8911c4b666 instanceof umiObject) { return false; } if (!is_null($v1e0ca5b1252f1f6b1e0ac91be7e7219e)) { $va8cfde6331bd59eb2ac96f8911c4b666->setGUID($v1e0ca5b1252f1f6b1e0ac91be7e7219e); } if (!$ve2fa538867c3830a859a5b17ab24644b) { $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("exchangeOnUpdateObject"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("source_id", $this->source_id); $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("before"); $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("object", $va8cfde6331bd59eb2ac96f8911c4b666); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("object_info", $vcaf9b6b99962bf5c2264824231d7a40c); umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45); } if (!is_null($vb068931cc450442b63f5b3d276ea4297)) { $va8cfde6331bd59eb2ac96f8911c4b666->setName($vb068931cc450442b63f5b3d276ea4297); } $this->importPropValues($va8cfde6331bd59eb2ac96f8911c4b666, $vcaf9b6b99962bf5c2264824231d7a40c, $ve2fa538867c3830a859a5b17ab24644b); if ($ve2fa538867c3830a859a5b17ab24644b) { $this->created_objects++; $this->writeLog($this->getLabel('label-object') . " \"" . $va8cfde6331bd59eb2ac96f8911c4b666->getName() . "\" (" . $v61ce6a78cb3c8547fed20990c92edfe3 . ") " . $this->getLabel('label-has-been-created-m')); } elseif ($va8cfde6331bd59eb2ac96f8911c4b666->getIsUpdated()) { $this->updated_objects++; $this->writeLog($this->getLabel('label-object') . " \"" . $va8cfde6331bd59eb2ac96f8911c4b666->getName() . "\" (" . $v61ce6a78cb3c8547fed20990c92edfe3 . ") " . $this->getLabel('label-has-been-updated-m')); } if ($ve2fa538867c3830a859a5b17ab24644b) { $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("exchangeOnAddObject"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("source_id", $this->source_id); $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("after"); $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("object", $va8cfde6331bd59eb2ac96f8911c4b666); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("object_info", $vcaf9b6b99962bf5c2264824231d7a40c); umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45); } else { $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("exchangeOnUpdateObject"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("source_id", $this->source_id); $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("after"); $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("object", $va8cfde6331bd59eb2ac96f8911c4b666); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("object_info", $vcaf9b6b99962bf5c2264824231d7a40c); umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45); } $va8cfde6331bd59eb2ac96f8911c4b666->commit(); $vdb6d9b451b818ccc9a449383f2f0c450->unloadObject($vaf31437ce61345f416579830a98c91e5); return $va8cfde6331bd59eb2ac96f8911c4b666; }
public function deleteObject($v21ffce5b8a6cc8cc6a41448dd69623c9) { $v69ae498121c2d8e63f20c7144a0246d7 = umiObjectsCollection::getInstance(); $v9b81909fd0da3add2602a8d0ede0e4e7 = umiObjectTypesCollection::getInstance(); $v1723bdd4ee51910267a625cae41ced8a = umiHierarchyTypesCollection::getInstance(); $va8cfde6331bd59eb2ac96f8911c4b666 = getArrayKey($v21ffce5b8a6cc8cc6a41448dd69623c9, 'object'); if ($va8cfde6331bd59eb2ac96f8911c4b666 instanceof umiObject == false) { throw new coreException("You should pass \"object\" key containing umiObject instance."); } $vaf31437ce61345f416579830a98c91e5 = $va8cfde6331bd59eb2ac96f8911c4b666->getId(); $v87306dd4235ed712ebc07fe169b76f83 = $va8cfde6331bd59eb2ac96f8911c4b666->getTypeId(); $v7ae7003da59ae71dcc9f8638ef50593d = $v9b81909fd0da3add2602a8d0ede0e4e7->getType($v87306dd4235ed712ebc07fe169b76f83); if ($v7ae7003da59ae71dcc9f8638ef50593d instanceof umiObjectType == false) { throw new coreException("Object #{$vaf31437ce61345f416579830a98c91e5} hasn't type #{$v87306dd4235ed712ebc07fe169b76f83}. This should not happen."); } if (!is_null(getArrayKey($v21ffce5b8a6cc8cc6a41448dd69623c9, 'type'))) { $v0715f6d9497f93911417c9c324265771 = $v7ae7003da59ae71dcc9f8638ef50593d->getHierarchyTypeId(); $vb946c44d711ade3b061653732977d043 = $v1723bdd4ee51910267a625cae41ced8a->getType($v0715f6d9497f93911417c9c324265771); if ($vb946c44d711ade3b061653732977d043 instanceof iUmiHierarchyType == false) { throw new coreException("Object type #{$v87306dd4235ed712ebc07fe169b76f83} doesn't have hierarchy type #{$v0715f6d9497f93911417c9c324265771}. This should not happen."); } $v21ffce5b8a6cc8cc6a41448dd69623c9['type'] = $vb946c44d711ade3b061653732977d043->getExt(); if ($this->checkAllowedElementType($v21ffce5b8a6cc8cc6a41448dd69623c9) == false) { throw new wrongElementTypeAdminException(getLabel("error-unexpected-element-type")); } } $v4119639092e62c55ea8be348e4d9260d = new umiEventPoint("systemDeleteObject"); $v4119639092e62c55ea8be348e4d9260d->addRef("object", $va8cfde6331bd59eb2ac96f8911c4b666); $v4119639092e62c55ea8be348e4d9260d->setMode("before"); $v4119639092e62c55ea8be348e4d9260d->call(); $result = $v69ae498121c2d8e63f20c7144a0246d7->delObject($vaf31437ce61345f416579830a98c91e5); $v4119639092e62c55ea8be348e4d9260d->setMode("after"); $v4119639092e62c55ea8be348e4d9260d->call(); return $result; }
public function add_to_compare($element_id) { if (!isset($_SESSION['compare_list']) || !is_array($_SESSION['compare_list'])) { $_SESSION['compare_list'] = array(); } if ($this->iMaxCompareElements && count($_SESSION['compare_list']) >= $this->iMaxCompareElements) { $this->errorNewMessage("%errors_max_items_compare%"); $this->errorPanic(); } $oEventPoint = new umiEventPoint("emarket_add_to_compare"); $oEventPoint->setMode("before"); $oEventPoint->setParam("element_id", $element_id); $oEventPoint->setParam("compare_list", $_SESSION['compare_list']); $this->setEventPoint($oEventPoint); if (!in_array($element_id, $_SESSION['compare_list'])) { $_SESSION['compare_list'][] = $element_id; $oEventPoint = new umiEventPoint("emarket_add_to_compare"); $oEventPoint->setMode("after"); $oEventPoint->setParam("element_id", $element_id); $oEventPoint->setParam("compare_list", $_SESSION['compare_list']); $this->setEventPoint($oEventPoint); return true; } return false; }
public function send() { if ($this->is_sended) { return true; } if ($this->content != "") { $this->arrHeaders["From"] = ($this->from_name ? "\"" . $this->from_name . "\" " : "") . "<" . $this->from_email . ">"; $this->arrHeaders["X-Mailer"] = "UMI.CMS"; if (sizeof($this->reply_to)) { $this->arrHeaders["Reply-To"] = implode(", ", $this->reply_to); } if (sizeof($this->copy)) { $this->arrHeaders["Cc"] = implode(", ", $this->copy); } if (sizeof($this->hidden_copy)) { $this->arrHeaders["Bcc"] = implode(", ", $this->hidden_copy); } $this->arrHeaders["X-Priority"] = $this->priority; $v9a0364b9e99bb480dd25e1f0284c8555 = $this->parseContent(); foreach ($this->arrContentImages as $va83269b957a782de9de17b330b439574 => $v7c610e4d8f0bc3df13a676914dbc6224) { if (!isset($this->arrAttachmentsImages[$v7c610e4d8f0bc3df13a676914dbc6224])) { continue; } $v8b9f60798e84fcd02a6f16731fad0d75 = $this->arrAttachmentsImages[$v7c610e4d8f0bc3df13a676914dbc6224]; $vaa5bb0b328edf04bdeade3062181e7ae = array('/(\\s)((?i)src|background|href(?-i))\\s*=\\s*(["\']?)' . preg_quote($va83269b957a782de9de17b330b439574, '/') . '\\3/', '/(?i)url(?-i)\\(\\s*(["\']?)' . preg_quote($va83269b957a782de9de17b330b439574, '/') . '\\1\\s*\\)/'); $v765a7aaaad7c01a34106aa80b74e28b7 = array('\\1\\2=\\3cid:' . $v8b9f60798e84fcd02a6f16731fad0d75['cid'] . '\\3', 'url(\\1cid:' . $v8b9f60798e84fcd02a6f16731fad0d75['cid'] . '\\2)'); $v9a0364b9e99bb480dd25e1f0284c8555 = preg_replace($vaa5bb0b328edf04bdeade3062181e7ae, $v765a7aaaad7c01a34106aa80b74e28b7, $v9a0364b9e99bb480dd25e1f0284c8555); } foreach ($this->files as $v3b569bcd1bf089908a7a85ead9f9ab9a) { $this->addAttachment($v3b569bcd1bf089908a7a85ead9f9ab9a->getFilePath()); } $v46f2f0d388f714c268d510d3ddbdfe88 = (bool) count($this->arrAttachments); $va491666beca97718aeb4d201ac898bb5 = (bool) count($this->arrAttachmentsImages); $vcae3e24516df3c71ced3f01fc0ee6c65 = (bool) strlen($v9a0364b9e99bb480dd25e1f0284c8555); $vdb9129f4c75531384e13d0a0d7dae6e9 = (bool) strlen($this->sTxtBody); $v69476a86c388a5b8e4e18eeaea2ae2ba = !$vcae3e24516df3c71ced3f01fc0ee6c65 && (bool) strlen($v9a0364b9e99bb480dd25e1f0284c8555); $vd6d25fae8ec76ccadc5deee4ee0c4896 = new umiMimePart('', array()); switch (true) { case $v69476a86c388a5b8e4e18eeaea2ae2ba && !$v46f2f0d388f714c268d510d3ddbdfe88: $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addTextPart($this->sTxtBody); break; case !$vcae3e24516df3c71ced3f01fc0ee6c65 && !$vdb9129f4c75531384e13d0a0d7dae6e9 && $v46f2f0d388f714c268d510d3ddbdfe88: $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addMixedPart(); foreach ($this->arrAttachments as $v5d659066115284c2f4023431d517fe38) { $vd6d25fae8ec76ccadc5deee4ee0c4896->addAttachmentPart($v5d659066115284c2f4023431d517fe38); } break; case $v69476a86c388a5b8e4e18eeaea2ae2ba && $v46f2f0d388f714c268d510d3ddbdfe88: $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addMixedPart(); $vd6d25fae8ec76ccadc5deee4ee0c4896->addTextPart($this->sTxtBody); foreach ($this->arrAttachments as $v5d659066115284c2f4023431d517fe38) { $vd6d25fae8ec76ccadc5deee4ee0c4896->addAttachmentPart($v5d659066115284c2f4023431d517fe38); } break; case $vcae3e24516df3c71ced3f01fc0ee6c65 && !$va491666beca97718aeb4d201ac898bb5 && !$v46f2f0d388f714c268d510d3ddbdfe88: $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addMixedPart(); if ($vdb9129f4c75531384e13d0a0d7dae6e9) { $vb09cfd144243e0299ce0a896ca163843 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addAlternativePart(); $vb09cfd144243e0299ce0a896ca163843->addTextPart($this->sTxtBody); $vb09cfd144243e0299ce0a896ca163843->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555); } else { $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555); } break; case $vcae3e24516df3c71ced3f01fc0ee6c65 && $va491666beca97718aeb4d201ac898bb5 && !$v46f2f0d388f714c268d510d3ddbdfe88: $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addRelatedPart(); if ($vdb9129f4c75531384e13d0a0d7dae6e9) { $vb09cfd144243e0299ce0a896ca163843 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addAlternativePart(); $vb09cfd144243e0299ce0a896ca163843->addTextPart($this->sTxtBody); $vb09cfd144243e0299ce0a896ca163843->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555); } else { $vd6d25fae8ec76ccadc5deee4ee0c4896->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555); } foreach ($this->arrAttachmentsImages as $v8b9f60798e84fcd02a6f16731fad0d75) { $vd6d25fae8ec76ccadc5deee4ee0c4896->addHtmlImagePart($v8b9f60798e84fcd02a6f16731fad0d75); } break; case $vcae3e24516df3c71ced3f01fc0ee6c65 && !$va491666beca97718aeb4d201ac898bb5 && $v46f2f0d388f714c268d510d3ddbdfe88: $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addMixedPart(); if ($vdb9129f4c75531384e13d0a0d7dae6e9) { $vb09cfd144243e0299ce0a896ca163843 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addAlternativePart(); $vb09cfd144243e0299ce0a896ca163843->addTextPart($this->sTxtBody); $vb09cfd144243e0299ce0a896ca163843->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555); } else { $vd6d25fae8ec76ccadc5deee4ee0c4896->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555); } foreach ($this->arrAttachments as $v5d659066115284c2f4023431d517fe38) { $vd6d25fae8ec76ccadc5deee4ee0c4896->addAttachmentPart($v5d659066115284c2f4023431d517fe38); } break; case $vcae3e24516df3c71ced3f01fc0ee6c65 && $va491666beca97718aeb4d201ac898bb5 && $v46f2f0d388f714c268d510d3ddbdfe88: $vd6d25fae8ec76ccadc5deee4ee0c4896 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addMixedPart(); if ($vdb9129f4c75531384e13d0a0d7dae6e9) { $vb09cfd144243e0299ce0a896ca163843 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addAlternativePart(); $vb09cfd144243e0299ce0a896ca163843->addTextPart($this->sTxtBody); $v692f1e5fb84fbda80e99a0ce848bc2b1 = $vb09cfd144243e0299ce0a896ca163843->addRelatedPart(); } else { $v692f1e5fb84fbda80e99a0ce848bc2b1 = $vd6d25fae8ec76ccadc5deee4ee0c4896->addRelatedPart(); } $v692f1e5fb84fbda80e99a0ce848bc2b1->addHtmlPart($v9a0364b9e99bb480dd25e1f0284c8555); foreach ($this->arrAttachmentsImages as $v8b9f60798e84fcd02a6f16731fad0d75) { $v692f1e5fb84fbda80e99a0ce848bc2b1->addHtmlImagePart($v8b9f60798e84fcd02a6f16731fad0d75); } foreach ($this->arrAttachments as $v5d659066115284c2f4023431d517fe38) { $vd6d25fae8ec76ccadc5deee4ee0c4896->addAttachmentPart($v5d659066115284c2f4023431d517fe38); } break; } $v766454ac4fb7a41c6ebf95bfb8130318 = $vd6d25fae8ec76ccadc5deee4ee0c4896->encodePart(); $this->mess_body = $v766454ac4fb7a41c6ebf95bfb8130318['body']; $v99b7ac2b500826e1b6e5496c094befbe = $this->getHeaders($v766454ac4fb7a41c6ebf95bfb8130318['headers'], true); $v5c27dddc7f7c23c046aa4f514147f839 = ""; foreach ($v99b7ac2b500826e1b6e5496c094befbe as $vcba6edd8118e56459daee1a4a52365e1 => $v2c0f0eef009b52594d1845816b697bed) { $v5c27dddc7f7c23c046aa4f514147f839 .= $vcba6edd8118e56459daee1a4a52365e1 . ": " . $v2c0f0eef009b52594d1845816b697bed . umiMimePart::UMI_MIMEPART_CRLF; } foreach ($this->recipients as $ve6a967f2c984f079715d7daa3f9b5f90) { $v4b5789f850e658bcfb56173ae0a5b7ca = trim(str_replace("\n", " ", $ve6a967f2c984f079715d7daa3f9b5f90[1])); $v0a1cb7958085865f48edbe2a30158589 = trim($ve6a967f2c984f079715d7daa3f9b5f90[0]); if (!strlen($v0a1cb7958085865f48edbe2a30158589)) { continue; } $v22c7ae03c1d7ec9ffafe48c116510eed = $v0a1cb7958085865f48edbe2a30158589; if (strlen($v4b5789f850e658bcfb56173ae0a5b7ca)) { $v22c7ae03c1d7ec9ffafe48c116510eed = iconv_mime_encode("", $ve6a967f2c984f079715d7daa3f9b5f90[1], array('input-charset' => 'UTF-8', 'output-charset' => 'UTF-8', 'line-break-chars' => '')); $v22c7ae03c1d7ec9ffafe48c116510eed = ltrim($v22c7ae03c1d7ec9ffafe48c116510eed, " :"); $v22c7ae03c1d7ec9ffafe48c116510eed .= " <" . $v0a1cb7958085865f48edbe2a30158589 . ">"; } $v18510ea4e30a52ff7b53e7b5e2691d83 = ""; if (strlen($this->subject)) { $v18510ea4e30a52ff7b53e7b5e2691d83 = iconv_mime_encode("", $this->subject, array('input-charset' => 'UTF-8', 'output-charset' => 'UTF-8', 'line-break-chars' => '')); $v18510ea4e30a52ff7b53e7b5e2691d83 = ltrim($v18510ea4e30a52ff7b53e7b5e2691d83, " :"); } $v6da648158add0c53655351ff6ac29a12 = mail($v22c7ae03c1d7ec9ffafe48c116510eed, $v18510ea4e30a52ff7b53e7b5e2691d83, $this->mess_body, $v5c27dddc7f7c23c046aa4f514147f839); $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("core_sendmail"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("to", $v22c7ae03c1d7ec9ffafe48c116510eed); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("subject", $v18510ea4e30a52ff7b53e7b5e2691d83); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("body", $this->mess_body); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("headers", $v5c27dddc7f7c23c046aa4f514147f839); $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("after"); $v161c9aaa4fe035e7b2f465bc59f3ab45->call(); } $this->is_sended = true; } else { return false; } }
protected function callEvent($vb6b9464f2f59896b4297666183eee817, $v8f41181a2712293624ac98172267c6d8) { static $v886bb73b3156b0aa24aac99d2de0b238 = 0; $v4119639092e62c55ea8be348e4d9260d = new umiEventPoint("cron"); $v4119639092e62c55ea8be348e4d9260d->setMode("process"); $v4119639092e62c55ea8be348e4d9260d->setModules($this->modules); $v4119639092e62c55ea8be348e4d9260d->setParam("lastCallTime", $vb6b9464f2f59896b4297666183eee817); $v4119639092e62c55ea8be348e4d9260d->setParam("currCallTime", $v8f41181a2712293624ac98172267c6d8); $v4119639092e62c55ea8be348e4d9260d->addRef("buffer", $this->buffer); $v4119639092e62c55ea8be348e4d9260d->addRef("counter", $v886bb73b3156b0aa24aac99d2de0b238); $this->logs = $v4119639092e62c55ea8be348e4d9260d->call(); return $v886bb73b3156b0aa24aac99d2de0b238; }
public function post($template = "default") { if (!$template) { $template = getRequest('template'); } if (!$template) { $template = "default"; } if (!def_module::isXSLTResultMode()) { list($template_block, $template_block_voted, $template_block_closed, $template_block_ok) = def_module::loadTemplates("vote/" . $template, "js_block", "js_block_voted", "js_block_closed", "js_block_ok"); } else { list($template_block, $template_block_voted, $template_block_closed, $template_block_ok) = array(false, false, false, false); } $item_id = (int) getRequest('param0'); $item = umiObjectsCollection::getInstance()->getObject($item_id); $referer_url = getServer("HTTP_REFERER") ? getServer("HTTP_REFERER") : "/"; $this->errorRegisterFailPage($referer_url); if (!$item instanceof umiObject) { $this->errorNewMessage(getLabel('error-page-does-not-exist', null, '')); $this->errorPanic(); } $poll_rel = $item->getValue("poll_rel"); $object_id = $poll_rel; $object = umiObjectsCollection::getInstance()->getObject($object_id); if (!$object instanceof umiObject) { $this->errorNewMessage(getLabel('error-page-does-not-exist', null, '')); $this->errorPanic(); } if ($this->checkIsVoted($object_id)) { $res = $template_block_voted ? $template_block_voted : "Вы уже проголосовали"; } else { if ($object->getValue("is_closed")) { $res = $template_block_closed ? $template_block_closed : "Ошибка. Голосование не активно, либо закрыто."; } else { $count = $item->getValue("count"); $item->setValue("count", ++$count); $item->setValue("poll_rel", $poll_rel); $item->commit(); if ($this->is_private) { $oUsersMdl = cmsController::getInstance()->getModule("users"); if ($oUsersMdl) { $oUser = umiObjectsCollection::getInstance()->getObject($oUsersMdl->user_id); if ($oUser instanceof umiObject) { $arrRatedPages = $oUser->getValue("rated_pages"); $arrRatedPagesIds = array(); foreach ($arrRatedPages as $vVal) { if ($vVal instanceof umiHierarchyElement) { $arrRatedPagesIds[] = intval($vVal->getId()); } else { $arrRatedPagesIds[] = intval($vVal); } } $arrVotePages = umiHierarchy::getInstance()->getObjectInstances($object_id); $arrVotePages = array_map("intval", $arrVotePages); $arrRated = array_merge($arrRatedPagesIds, $arrVotePages); $oUser->setValue("rated_pages", array_unique($arrRated)); $oUser->commit(); } } } $oEventPoint = new umiEventPoint("pollPost"); $oEventPoint->setMode("after"); $oEventPoint->setParam("poll", $object); $oEventPoint->setParam("answer", $item); $this->setEventPoint($oEventPoint); $res = $template_block_ok ? $template_block_ok : "Ваше мнение учтено"; } if (!isset($_SESSION['vote_polled']) || !is_array($_SESSION['vote_polled'])) { $_SESSION['vote_polled'] = array(); } } $_SESSION['vote_polled'][] = $object_id; $res = def_module::parseTPLMacroses($res); if ($template_block) { $block_arr = array(); $block_arr['res'] = $res; $r = $this->parseTemplate($template_block, $block_arr); $this->flush($r, "text/javascript"); } else { $this->flush("alert('{$res}');", "text/javascript"); } }
public function frontendPanel() { $permissions = permissionsCollection::getInstance(); $cmsController = cmsController::getInstance(); $maxRecentPages = 5; $this->flushAsXml('frontendPanel'); $modules = array(); $modulesSortedPriorityList = $this->getSortedModulesList(); foreach ($modulesSortedPriorityList as $moduleInfo) { $modules[] = array('attribute:label' => $moduleInfo['label'], 'attribute:type' => $moduleInfo['type'], 'node:name' => $moduleInfo['name']); } $hierarchy = umiHierarchy::getInstance(); $key = md5(getServer('HTTP_REFERER')); $currentIds = is_array(getSession($key)) ? getSession($key) : array(); foreach ($currentIds as $i => $id) { $currentIds[$i] = $id[2]; } $currentIds = array_unique($currentIds); $current = array(); foreach ($currentIds as $id) { $current[] = $hierarchy->getElement($id); } $recent = new selector('pages'); $recent->where('is_deleted')->equals(0); $recent->where('is_active')->equals(1); $recent->where('lang')->equals(langsCollection::getInstance()->getList()); $recent->order('updatetime')->desc(); $recent->limit(0, $maxRecentPages); if (sizeof($currentIds) && $permissions->isAllowedModule($permissions->getUserId(), 'backup')) { $backup = $cmsController->getModule('backup'); $changelog = $backup->backup_panel($currentIds[0]); } else { $changelog = null; } $user = selector::get('object')->id($permissions->getUserId()); $referer = getRequest('referer') ? getRequest('referer') : getServer('HTTP_REFERER'); $tickets = new selector('objects'); $tickets->types('object-type')->name('content', 'ticket'); $tickets->where('url')->equals($referer); $tickets->limit(0, 100); $ticketsResult = array(); foreach ($tickets as $ticket) { $user = selector::get('object')->id($ticket->user_id); if (!$user) { continue; } $ticketsResult[] = array('attribute:id' => $ticket->id, 'author' => array('attribute:fname' => $user->fname, 'attribute:lname' => $user->lname, 'attribute:login' => $user->login), 'position' => array('attribute:x' => $ticket->x, 'attribute:y' => $ticket->y, 'attribute:width' => $ticket->width, 'attribute:height' => $ticket->height), 'message' => $ticket->message); } $result = array('user' => array('attribute:id' => $user->id, 'attribute:fname' => $user->fname, 'attribute:lname' => $user->lname, 'attribute:login' => $user->login), 'tickets' => array('nodes:ticket' => $ticketsResult), 'modules' => array('nodes:module' => $modules), 'documents' => array('editable' => array('nodes:page' => $current), 'recent' => array('nodes:page' => $recent->result()))); if (!$permissions->isAllowedMethod($permissions->getUserId(), 'content', 'tickets')) { unset($result['tickets']); } if ($changelog && sizeof($changelog['nodes:revision'])) { $result['changelog'] = $changelog; } $event = new umiEventPoint('eipFrontendPanelGet'); $event->setParam("id", getArrayKey($currentIds, 0)); $event->addRef("result", $result); $event->setMode('after'); $event->call(); return $result; }
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); }
/** * Пересчитать параметры наименования и обновить свойства наименования в БД */ public function refresh() { $element = $this->getItemElement(); if (!$element) { return false; } $eventPoint = new umiEventPoint("orderItem_refresh"); $eventPoint->setMode('before'); $eventPoint->addRef("orderItem", $this); $eventPoint->call(); $discount = itemDiscount::search($element); $this->setDiscount($discount); $totalOriginalPrice = $this->getItemPrice() * $this->amount; if ($discount instanceof itemDiscount) { $totalActualPrice = $discount->recalcPrice($totalOriginalPrice); } else { $totalActualPrice = $totalOriginalPrice; } $eventPoint->setMode('after'); $eventPoint->setParam("totalOriginalPrice", $totalOriginalPrice); $eventPoint->addRef("totalActualPrice", $totalActualPrice); $eventPoint->call(); $this->totalOriginalPrice = $totalOriginalPrice; $this->totalActualPrice = $totalActualPrice; $this->commit(); return true; }
/** * @desc Выводит форму для добавления комментария и выполняет все действия по сохранению * @param int $postId Идентификатор публикации или комментария * @param string $template имя файла шаблона * @return string|array */ public function commentAdd($postId = false, $template = 'default') { $bNeedFinalPanic = false; if (!($oUsersModule = cmsController::getInstance()->getModule("users"))) { throw new publicException("Can't find users module"); } if (!($oUsersModule->is_auth() || regedit::getInstance()->getVal("//modules/blogs20/allow_guest_comments"))) { return; } if ($postId === false) { $iTmp = getRequest('param0'); if ($iTmp) { $postId = $iTmp; } else { $postId = cmsController::getInstance()->getCurrentElementId(); } } $postId = (int) $postId; $oHierarchy = umiHierarchy::getInstance(); $oHTypesCollection = umiHierarchyTypesCollection::getInstance(); if (!($oPost = $oHierarchy->getElement($postId))) { throw new publicException(getLabel('error-page-does-not-exist', null, $postId)); } if ($oPost->getTypeId() != $oHTypesCollection->getTypeByName("blogs20", "post")->getId() && $oPost->getTypeId() != $oHTypesCollection->getTypeByName("blogs20", "comment")->getId()) { throw new publicException("The id(#{$postId}) given is not an id of the blog's post"); } $sTitle = ($tmp = getRequest('title')) ? $tmp : 'Re: ' . $oPost->getName(); $sContent = htmlspecialchars(trim(getRequest('content'))); if ($postId !== false && strlen($sContent) > 0) { if (!umiCaptcha::checkCaptcha()) { $this->errorNewMessage("%errors_wrong_captcha%"); $this->errorPanic(); } $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("blogs20", "comment")->getId(); $iCommentId = $oHierarchy->addElement($postId, $hierarchy_type_id, $sTitle, $sTitle); permissionsCollection::getInstance()->setDefaultPermissions($iCommentId); if ($oUsersModule->is_auth()) { $userId = $oUsersModule->user_id; $authorId = $oUsersModule->createAuthorUser($userId); $oActivity = antiSpamHelper::checkContent($sContent . $sTitle); } else { $nick = getRequest('nick'); $email = getRequest('email'); $ip = getServer('REMOTE_ADDR'); $authorId = $oUsersModule->createAuthorGuest($nick, $email, $ip); $oActivity = antiSpamHelper::checkContent($sContent . $sTitle . $nick . $email); } $oComment = $oHierarchy->getElement($iCommentId, true); $is_active = $this->moderate ? 0 : 1; if ($is_active) { $is_active = $oActivity; } if (!$is_active) { $this->errorNewMessage('%comments_posted_moderating%', false); $bNeedFinalPanic = true; } $oComment->setIsActive($is_active); $oComment->setValue('title', $sTitle); $oComment->setValue('content', $sContent); $oComment->setValue('author_id', $authorId); $oComment->setValue('publish_time', new umiDate()); $oComment->commit(); // Raise Event $oEventPoint = new umiEventPoint("blogs20CommentAdded"); $oEventPoint->setMode("after"); $oEventPoint->setParam("id", $iCommentId); $oEventPoint->setParam('template', $template); $this->setEventPoint($oEventPoint); // Redirecting if ($bNeedFinalPanic) { $this->errorPanic(); } else { $sRefererUri = getServer('HTTP_REFERER'); if (strlen($sRefererUri)) { $this->redirect($sRefererUri . '#comment_' . $iCommentId); } return null; } } else { if (!strlen($sContent) && !is_null(getRequest('content'))) { $this->errorNewMessage("%errors_missed_field_value%"); $this->errorPanic(); } } $sTplName = $oUsersModule->is_auth() ? 'comment_add_form' : 'comment_add_form_guest'; list($sFormTemplate) = self::loadTemplates('blogs20/' . $template, $sTplName); return self::parseTemplate($sFormTemplate, array('parent_id' => $postId)); }
public function delElement($v7057e8409c7c531a1a6e9ac3df4ed549) { $v7057e8409c7c531a1a6e9ac3df4ed549 = (int) $v7057e8409c7c531a1a6e9ac3df4ed549; $this->disableCache(); $vb99eb979e6f6efabc396f777b503f7e7 = cacheFrontend::getInstance(); $v41275a535677f79ff347e01bc530c176 = permissionsCollection::getInstance(); $this->addUpdatedElementId($v7057e8409c7c531a1a6e9ac3df4ed549); $this->forceCacheCleanup(); if (!$v41275a535677f79ff347e01bc530c176->isAllowedObject($v41275a535677f79ff347e01bc530c176->getUserId(), $v7057e8409c7c531a1a6e9ac3df4ed549)) { return false; } if ($v8e2dcfd7e7e24b1ca76c1193f645902b = $this->getElement($v7057e8409c7c531a1a6e9ac3df4ed549)) { $vac5c74b64b4b8352ef2f181affb5ac2a = "SELECT id FROM cms3_hierarchy FORCE INDEX(rel) WHERE rel = '{$v7057e8409c7c531a1a6e9ac3df4ed549}'"; $result = l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a); while (list($vf36263a38d7de5cdaa953c1e2b2f79b5) = mysql_fetch_row($result)) { $v2da0d90fc7822dade6effbdd1f48b458 = $this->getElement($vf36263a38d7de5cdaa953c1e2b2f79b5, true, true); $this->delElement($vf36263a38d7de5cdaa953c1e2b2f79b5); $vb99eb979e6f6efabc396f777b503f7e7->del($vf36263a38d7de5cdaa953c1e2b2f79b5, "element"); } $v4119639092e62c55ea8be348e4d9260d = new umiEventPoint("hierarchyDeleteElement"); $v4119639092e62c55ea8be348e4d9260d->setParam("element_id", $v7057e8409c7c531a1a6e9ac3df4ed549); $v4119639092e62c55ea8be348e4d9260d->setMode("after"); $v4119639092e62c55ea8be348e4d9260d->call(); $v8e2dcfd7e7e24b1ca76c1193f645902b->setIsDeleted(true); $v8e2dcfd7e7e24b1ca76c1193f645902b->commit(); unset($this->elements[$v7057e8409c7c531a1a6e9ac3df4ed549]); $vb99eb979e6f6efabc396f777b503f7e7->del($v7057e8409c7c531a1a6e9ac3df4ed549, "element"); return true; } else { return false; } }
public function send_ajax() { // Check captcha to know we should do anything if (isset($_REQUEST['captcha'])) { $_SESSION['user_captcha'] = md5((int) $_REQUEST['captcha']); } if (!umiCaptcha::checkCaptcha()) { return $this->errorNewMessageCustom("%errors_wrong_captcha%", array('captcha')); } //------------------------------------------------------------------- // Get necessary data $oTypes = umiObjectTypesCollection::getInstance(); $iBaseTypeId = $oTypes->getBaseType("webforms", "form"); $iFormTypeId = getRequest('system_form_id'); $sSenderIP = getServer('REMOTE_ADDR'); $iTime = new umiDate(time()); $aAddresses = getRequest('system_email_to'); if (!is_array($aAddresses)) { $aAddresses = array($aAddresses); } $aRecipients = array(); foreach ($aAddresses as $address) { if ($address) { $sEmailTo = $this->guessAddressValue($address); $sAddress = $this->guessAddressName($address); $aRecipients[] = array('email' => $sEmailTo, 'name' => $sAddress); } } if (!$oTypes->isExists($iFormTypeId) || $oTypes->getParentClassId($iFormTypeId) != $iBaseTypeId) { return $this->errorNewMessageCustom("%wrong_form_type%"); } // if (($ef = $this->checkRequiredFieldsCustom($iFormTypeId)) !== true) { return $this->errorNewMessageCustom(getLabel('error-required_list') . $this->assembleErrorFields($ef), $this->assembleErrorFieldsArray($ef)); } //------------------------------------------------------------------- // Saving message and preparing it for sending $_REQUEST['data']['new']['sender_ip'] = $sSenderIP; // Hack for saving files-only-forms $oObjectsCollection = umiObjectsCollection::getInstance(); $iObjectId = $oObjectsCollection->addObject($sAddress, $iFormTypeId); $oObjectsCollection->getObject($iObjectId)->setOwnerId(permissionsCollection::getInstance()->getUserId()); cmsController::getInstance()->getModule('data')->saveEditedObject($iObjectId, true); $oObject = $oObjectsCollection->getObject($iObjectId); $oObject->setValue('destination_address', $sEmailTo); $oObject->setValue('sender_ip', $sSenderIP); $oObject->setValue('sending_time', $iTime); $aMessage = $this->formatMessage($iObjectId, true); //-------------------------------------------------------------------- // Make an e-mail $oMail = new umiMail(); //-------------------------------------------------------------------- // Determine file fields $aFTypes = array('file', 'img_file', 'swf_file'); $aFields = $oTypes->getType($oObject->getTypeId())->getAllFields(); foreach ($aFields as $oField) { $oType = $oField->getFieldType(); if (in_array($oType->getDataType(), $aFTypes)) { $oFile = $oObject->getValue($oField->getName()); if ($oFile instanceof umiFile) { $oMail->attachFile($oFile); } /*else { return $this->errorNewMessageCustom("%errors_wrong_file_type%"); }*/ } } $recpCount = 0; foreach ($aRecipients as $recipient) { foreach (explode(',', $recipient['email']) as $sAddress) { if (strlen(trim($sAddress))) { $oMail->addRecipient(trim($sAddress), $recipient['name']); $recpCount++; } } } if (!$recpCount) { return $this->errorNewMessageCustom(getLabel('error-no_recipients')); } $oMail->setFrom($aMessage['from_email_template'], $aMessage['from_template']); $oMail->setSubject($aMessage['subject_template']); $oMail->setContent($aMessage['master_template']); $oMail->commit(); $oMail->send(); //-------------------------------------------------------------------- // Send autoreply if should if (strlen($aMessage['autoreply_template'])) { $oMailReply = new umiMail(); $oMailReply->addRecipient($aMessage['from_email_template'], $aMessage['from_template']); $oMailReply->setFrom($aMessage['autoreply_from_email_template'], $aMessage['autoreply_from_template']); $oMailReply->setSubject($aMessage['autoreply_subject_template']); $oMailReply->setContent($aMessage['autoreply_template']); $oMailReply->commit(); $oMailReply->send(); } //-------------------------------------------------------------------- // Process events $oEventPoint = new umiEventPoint("webforms_post"); $oEventPoint->setMode("after"); $oEventPoint->setParam("email", $aMessage['from_email_template']); $oEventPoint->setParam("message_id", $iObjectId); $oEventPoint->setParam("form_id", $iFormTypeId); $oEventPoint->setParam("fio", $aMessage['from_template']); $this->setEventPoint($oEventPoint); //-------------------------------------------------------------------- return array('plain:result' => json_encode(array('success' => $this->posted($iFormTypeId)))); }
public function removeFromBasket($vdada7698e90003048a305e981875250f) { $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("eshop_remove_frombasket"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("before"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("element_id", $vdada7698e90003048a305e981875250f); def_module::setEventPoint($v161c9aaa4fe035e7b2f465bc59f3ab45); if ($this->oUserBasket instanceof umiObject) { $v6a183de20981accc6e2669cd7c8e9f37 = $this->getBasketItem($vdada7698e90003048a305e981875250f); if ($v6a183de20981accc6e2669cd7c8e9f37 instanceof umiObject) { umiObjectsCollection::getInstance()->delObject($v6a183de20981accc6e2669cd7c8e9f37->getId()); $v6f6b8983aa8e35763123f65ae38eb0b2 = $this->oUserBasket->getValue('items'); if (is_array($v6f6b8983aa8e35763123f65ae38eb0b2)) { $v6f6b8983aa8e35763123f65ae38eb0b2 = array_diff($v6f6b8983aa8e35763123f65ae38eb0b2, array($v6a183de20981accc6e2669cd7c8e9f37->getId())); $this->oUserBasket->setValue('items', $v6f6b8983aa8e35763123f65ae38eb0b2); } $this->oUserBasket->commit(); $this->recalcBasket(); } } elseif (isset($this->arrBasket[$vdada7698e90003048a305e981875250f])) { unset($this->arrBasket[$vdada7698e90003048a305e981875250f]); $this->recalcBasket(); } }
protected function importObjects(umiObjectType $v726e8e4809d4c1b28a6549d86436a124) { $v4340fd73e75df7a9d9e45902a59ba3a4 = $this->readNextRow(); $this->fields = count($v4340fd73e75df7a9d9e45902a59ba3a4); $v5891da2d64975cae48d175d1e001f5da = umiObjectsCollection::getInstance(); $vd14a8022b085f9ef19d479cbdd581127 = umiObjectTypesCollection::getInstance(); $v9367a975f19a06750b67f719f4f08ceb = false; if ($v726e8e4809d4c1b28a6549d86436a124->getId() == $vd14a8022b085f9ef19d479cbdd581127->getTypeIdByGUID('dispatches-subscriber')) { $v9367a975f19a06750b67f719f4f08ceb = true; } $v7f2db423a49b305459147332fb01cf87 = outputBuffer::current(); def_module::$noRedirectOnPanic = true; $v4340fd73e75df7a9d9e45902a59ba3a4 = $this->analyzeHeaders($v726e8e4809d4c1b28a6549d86436a124, $v4340fd73e75df7a9d9e45902a59ba3a4); $v76cf1d4ff412fd3cb644aa58a53c78dc = array(); while ($v07d43db2a74336dcfbdaeeeffe6f7a19 = $this->readNextRow()) { echo str_repeat(' ', 1024); flush(); $v07d43db2a74336dcfbdaeeeffe6f7a19 = $this->analyzeColumns($v4340fd73e75df7a9d9e45902a59ba3a4, $v07d43db2a74336dcfbdaeeeffe6f7a19); if (!isset($v07d43db2a74336dcfbdaeeeffe6f7a19['id'])) { continue; } $v16b2b26000987faccb260b9d39df1269 = $v07d43db2a74336dcfbdaeeeffe6f7a19['id']; if ($v9367a975f19a06750b67f719f4f08ceb && !$v16b2b26000987faccb260b9d39df1269) { $v8be74552df93e31bbdd6b36ed74bdb6a = new selector('objects'); $v8be74552df93e31bbdd6b36ed74bdb6a->types('object-type')->name('dispatches', 'subscriber'); $v8be74552df93e31bbdd6b36ed74bdb6a->where('name')->equals($v07d43db2a74336dcfbdaeeeffe6f7a19['name']); $v8be74552df93e31bbdd6b36ed74bdb6a->option('return')->value('id'); $result = $v8be74552df93e31bbdd6b36ed74bdb6a->first; if (is_array($result) && count($result)) { $v16b2b26000987faccb260b9d39df1269 = $result['id']; } } if ($v16b2b26000987faccb260b9d39df1269) { $vccae550f37edb4e56f3bf01df9953a6f = $v16b2b26000987faccb260b9d39df1269; $v53cc4db543d7a569e51c1d76ac6f278e = 'systemModifyObject'; } else { $v53cc4db543d7a569e51c1d76ac6f278e = 'systemCreateObject'; $v16b2b26000987faccb260b9d39df1269 = $v5891da2d64975cae48d175d1e001f5da->addObject('Temporary object name', $v726e8e4809d4c1b28a6549d86436a124->getId()); $v7f2db423a49b305459147332fb01cf87->push('//Create new object "' . $v07d43db2a74336dcfbdaeeeffe6f7a19['name'] . '" of type ' . $v726e8e4809d4c1b28a6549d86436a124->getId() . ', id #' . $v16b2b26000987faccb260b9d39df1269 . "\n"); $vccae550f37edb4e56f3bf01df9953a6f = 'new'; } $va8cfde6331bd59eb2ac96f8911c4b666 = $v5891da2d64975cae48d175d1e001f5da->getObject($v16b2b26000987faccb260b9d39df1269); if ($va8cfde6331bd59eb2ac96f8911c4b666 instanceof umiObject == false) { $v76cf1d4ff412fd3cb644aa58a53c78dc[] = array('id' => $v16b2b26000987faccb260b9d39df1269, 'error' => getLabel('csv-error-not-found'), 'name' => $v07d43db2a74336dcfbdaeeeffe6f7a19['name']); continue; } if ($va8cfde6331bd59eb2ac96f8911c4b666->getTypeId() != $v726e8e4809d4c1b28a6549d86436a124->getId()) { $v76cf1d4ff412fd3cb644aa58a53c78dc[] = array('id' => $v16b2b26000987faccb260b9d39df1269, 'error' => getLabel('csv-error-wrong-type'), 'name' => $v07d43db2a74336dcfbdaeeeffe6f7a19['name']); continue; } $vd05b6ed7d2345020440df396d6da7f73 = umiFieldsCollection::getInstance(); $_REQUEST['data'][$vccae550f37edb4e56f3bf01df9953a6f] = array(); foreach ($v4340fd73e75df7a9d9e45902a59ba3a4 as $v865c0c0b4ab0e063e5caa3387c1a8741 => $v46b9e6004c49d9cc040029c197cab278) { if ($v865c0c0b4ab0e063e5caa3387c1a8741 == 'id') { continue; } if ($v865c0c0b4ab0e063e5caa3387c1a8741 == 'name' && isset($v07d43db2a74336dcfbdaeeeffe6f7a19[$v865c0c0b4ab0e063e5caa3387c1a8741])) { $_REQUEST['name'] = $v07d43db2a74336dcfbdaeeeffe6f7a19[$v865c0c0b4ab0e063e5caa3387c1a8741]; } if (isset($v07d43db2a74336dcfbdaeeeffe6f7a19[$v865c0c0b4ab0e063e5caa3387c1a8741])) { $_REQUEST['data'][$vccae550f37edb4e56f3bf01df9953a6f][$v865c0c0b4ab0e063e5caa3387c1a8741] = $v07d43db2a74336dcfbdaeeeffe6f7a19[$v865c0c0b4ab0e063e5caa3387c1a8741]; } } if ($v726e8e4809d4c1b28a6549d86436a124->getMethod() == 'user') { $_REQUEST['data'][$vccae550f37edb4e56f3bf01df9953a6f]['password'][0] = 'dummyPassword'; } try { $v4119639092e62c55ea8be348e4d9260d = new umiEventPoint($v53cc4db543d7a569e51c1d76ac6f278e); $v4119639092e62c55ea8be348e4d9260d->addRef("object", $va8cfde6331bd59eb2ac96f8911c4b666); $v4119639092e62c55ea8be348e4d9260d->setMode("before"); $v4119639092e62c55ea8be348e4d9260d->call(); } catch (errorPanicException $ve1671797c52e15f763380b45e841ec32) { $v76cf1d4ff412fd3cb644aa58a53c78dc[] = array('id' => $vccae550f37edb4e56f3bf01df9953a6f, 'error' => $ve1671797c52e15f763380b45e841ec32->getMessage(), 'name' => $v07d43db2a74336dcfbdaeeeffe6f7a19['name']); if ($vccae550f37edb4e56f3bf01df9953a6f == 'new') { $v5891da2d64975cae48d175d1e001f5da->delObject($v16b2b26000987faccb260b9d39df1269); } continue 1; } foreach ($v07d43db2a74336dcfbdaeeeffe6f7a19 as $v972bf3f05d14ffbdb817bef60638ff00 => $v2063c1608d6e0baf80249c42e2be5804) { switch ($v972bf3f05d14ffbdb817bef60638ff00) { case 'id': continue; case 'name': $va8cfde6331bd59eb2ac96f8911c4b666->setName($v2063c1608d6e0baf80249c42e2be5804); break; default: try { $this->modifyProperty($va8cfde6331bd59eb2ac96f8911c4b666, $v972bf3f05d14ffbdb817bef60638ff00, $v2063c1608d6e0baf80249c42e2be5804); } catch (fieldRestrictionException $ve1671797c52e15f763380b45e841ec32) { $v76cf1d4ff412fd3cb644aa58a53c78dc[] = array('id' => $vccae550f37edb4e56f3bf01df9953a6f, 'error' => $ve1671797c52e15f763380b45e841ec32->getMessage(), 'name' => $v07d43db2a74336dcfbdaeeeffe6f7a19[$v972bf3f05d14ffbdb817bef60638ff00]); } break; } } $va8cfde6331bd59eb2ac96f8911c4b666->commit(); try { $v4119639092e62c55ea8be348e4d9260d->setMode('after'); $v4119639092e62c55ea8be348e4d9260d->call(); } catch (errorPanicException $ve1671797c52e15f763380b45e841ec32) { $v76cf1d4ff412fd3cb644aa58a53c78dc[] = array('id' => $vccae550f37edb4e56f3bf01df9953a6f, 'error' => $ve1671797c52e15f763380b45e841ec32->getMessage(), 'name' => $v07d43db2a74336dcfbdaeeeffe6f7a19['name']); if ($vccae550f37edb4e56f3bf01df9953a6f == 'new') { $v5891da2d64975cae48d175d1e001f5da->delObject($v16b2b26000987faccb260b9d39df1269); } continue 1; } unset($_REQUEST['data'][$vccae550f37edb4e56f3bf01df9953a6f]); unset($va8cfde6331bd59eb2ac96f8911c4b666); } def_module::$noRedirectOnPanic = false; if (sizeof($v76cf1d4ff412fd3cb644aa58a53c78dc)) { $v7f2db423a49b305459147332fb01cf87->push('var err = \'' . addslashes(getLabel('csv-error-import-list')) . "\\n';\n"); foreach ($v76cf1d4ff412fd3cb644aa58a53c78dc as $v6b3e9cdfd9fd6b6f313d7dd4526c9ceb) { if ($v6b3e9cdfd9fd6b6f313d7dd4526c9ceb['id'] == 'new') { $v7f2db423a49b305459147332fb01cf87->push('err += \'' . addslashes($v6b3e9cdfd9fd6b6f313d7dd4526c9ceb['name'] . ' (' . getLabel('csv-new-item') . ') - ' . $v6b3e9cdfd9fd6b6f313d7dd4526c9ceb['error']) . "\\n';\n"); } else { $v7f2db423a49b305459147332fb01cf87->push('err += \'' . addslashes($v6b3e9cdfd9fd6b6f313d7dd4526c9ceb['name'] . ' (#' . $v6b3e9cdfd9fd6b6f313d7dd4526c9ceb['id'] . ') - ' . $v6b3e9cdfd9fd6b6f313d7dd4526c9ceb['error']) . "\\n';\n"); } } $v7f2db423a49b305459147332fb01cf87->push("alert(err);\n\n"); } }
/** * Пересчитать содержимое корзины */ public function refresh() { $object = $this->object; $items = $this->getItems(); $originalPrice = 0; $totalAmount = 0; $eventPoint = new umiEventPoint("order_refresh"); $eventPoint->setMode('before'); $eventPoint->addRef("order", $object); $eventPoint->setParam("items", $items); $eventPoint->call(); foreach ($items as $item) { $succ = $item->refresh(); if ($succ === false) { $this->removeItem($item); continue; } $originalPrice += $item->getTotalActualPrice(); $totalAmount += $item->getAmount(); } $discount = $this->searchDiscount(); if ($discount instanceof orderDiscount) { $actualPrice = $discount->recalcPrice($originalPrice); } else { $actualPrice = $originalPrice; } $actualPrice += (double) $this->delivery_price; $actualPrice -= (double) $this->getBonusDiscount(); $eventPoint->setMode('after'); $eventPoint->setParam("originalPrice", $originalPrice); $eventPoint->setParam("totalAmount", $totalAmount); $eventPoint->addRef("actualPrice", $actualPrice); $eventPoint->call(); $this->originalPrice = $originalPrice; $this->actualPrice = $actualPrice; $this->totalAmount = $totalAmount; $this->discount = $discount; $this->commit(); }
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); }
protected function importElement($vfc07ae6b81515e9c73cb36ac08488ca1) { $this->importedElements += 1; $v2114c8075d855b3cea53d5d880c68948 = $vfc07ae6b81515e9c73cb36ac08488ca1['old_element_id']; $v75cacdb2219ff0da09cc2f909ea64759 = $vfc07ae6b81515e9c73cb36ac08488ca1['old_element_object_id']; $v777ccf80e4e83a9e7cdddd6ebc1edff7 = umiImportRelations::getInstance()->getNewIdRelation($this->source_id, $v2114c8075d855b3cea53d5d880c68948); $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("import_element"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("before"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("new_element_id", $v777ccf80e4e83a9e7cdddd6ebc1edff7); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("old_element_id", $v2114c8075d855b3cea53d5d880c68948); $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("element_info", $vfc07ae6b81515e9c73cb36ac08488ca1); $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("props", $this->xml_objects[$v75cacdb2219ff0da09cc2f909ea64759]['props']); umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45); $v28b2e67839ab215dcac5f868963f2bcb = $vfc07ae6b81515e9c73cb36ac08488ca1['old_parent_id']; $this->importedElementsArr[] = $v2114c8075d855b3cea53d5d880c68948; $v10b04069381b2fef4e0a41e0ea65b914 = $vfc07ae6b81515e9c73cb36ac08488ca1['element_name']; $v9c668e7b8b95154aabe003bcfd8e15df = $vfc07ae6b81515e9c73cb36ac08488ca1['old_element_alt_name']; $v2741adf691b2acf0359a6a73234bc605 = $vfc07ae6b81515e9c73cb36ac08488ca1['old_type_id']; $v53f070b923b86cc3c1b95e9950674c7c = $vfc07ae6b81515e9c73cb36ac08488ca1['element_is_active']; $v712546bad453a4d99cb79be316f6e64b = $vfc07ae6b81515e9c73cb36ac08488ca1['element_is_visible']; $v25f5c3dfce7a3048a8e9f70bad15bdd3 = $vfc07ae6b81515e9c73cb36ac08488ca1['element_is_deleted']; if ($v9c668e7b8b95154aabe003bcfd8e15df) { $vd84ff935144e00c3e1d395c2379aca47 = $v9c668e7b8b95154aabe003bcfd8e15df; } else { $vd84ff935144e00c3e1d395c2379aca47 = $v10b04069381b2fef4e0a41e0ea65b914; } $vd84ff935144e00c3e1d395c2379aca47 = translit::convert($vd84ff935144e00c3e1d395c2379aca47); if ($v25f5c3dfce7a3048a8e9f70bad15bdd3 !== NULL) { if ($v25f5c3dfce7a3048a8e9f70bad15bdd3) { umiHierarchy::getInstance()->delElement($v777ccf80e4e83a9e7cdddd6ebc1edff7); $this->importLog[] = "Element \"" . $v10b04069381b2fef4e0a41e0ea65b914 . "\" (" . $v2114c8075d855b3cea53d5d880c68948 . ") has been deleted"; $this->deletedElements++; return true; } } if ($v28b2e67839ab215dcac5f868963f2bcb === "0") { $v0a4066771994dd2315e8a742e4de72fc = $v28b2e67839ab215dcac5f868963f2bcb; } else { $v0a4066771994dd2315e8a742e4de72fc = umiImportRelations::getInstance()->getNewIdRelation($this->source_id, $v28b2e67839ab215dcac5f868963f2bcb); } if ($v0a4066771994dd2315e8a742e4de72fc === false) { $v0a4066771994dd2315e8a742e4de72fc = $this->destination_element_id; } $v3252048a9dc6701c34b83c15c5be40f7 = false; if ($v777ccf80e4e83a9e7cdddd6ebc1edff7 === false && $v0a4066771994dd2315e8a742e4de72fc !== false) { $v555b8759c62b778531f7d10a1cfc1252 = $vfc07ae6b81515e9c73cb36ac08488ca1['new_domain_id']; $ve795657a63adabb22cdc79a959474fdd = $vfc07ae6b81515e9c73cb36ac08488ca1['new_lang_id']; $v5b4c55fc70f920b984055561aff116b3 = $vfc07ae6b81515e9c73cb36ac08488ca1['element_hierarchy_type_id']; $ve274c3c0bb91d6582078fbbce8f388f6 = $vfc07ae6b81515e9c73cb36ac08488ca1['new_tpl_id']; $v69203671ddb68b3848f87700fe06de55 = $vfc07ae6b81515e9c73cb36ac08488ca1['new_type_id']; $v616300e8f201203152145e6776ad27d1 = umiImportRelations::getInstance()->getNewIdRelation($this->source_id, $v28b2e67839ab215dcac5f868963f2bcb); $v777ccf80e4e83a9e7cdddd6ebc1edff7 = umiHierarchy::getInstance()->addElement($v0a4066771994dd2315e8a742e4de72fc, $v5b4c55fc70f920b984055561aff116b3, $v10b04069381b2fef4e0a41e0ea65b914, $vd84ff935144e00c3e1d395c2379aca47, $v69203671ddb68b3848f87700fe06de55, $v555b8759c62b778531f7d10a1cfc1252, $ve795657a63adabb22cdc79a959474fdd, $ve274c3c0bb91d6582078fbbce8f388f6); umiImportRelations::getInstance()->setIdRelation($this->source_id, $v2114c8075d855b3cea53d5d880c68948, $v777ccf80e4e83a9e7cdddd6ebc1edff7); if ($v777ccf80e4e83a9e7cdddd6ebc1edff7) { $v3252048a9dc6701c34b83c15c5be40f7 = true; } } permissionsCollection::getInstance()->setDefaultPermissions($v777ccf80e4e83a9e7cdddd6ebc1edff7); $v691b2ea4f2db17699a29da0c302a91ea = umiHierarchy::getInstance()->getElement($v777ccf80e4e83a9e7cdddd6ebc1edff7, true, true); if (!$v691b2ea4f2db17699a29da0c302a91ea instanceof umiHierarchyElement) { $this->importLog[] = "Can't create element \"{$v10b04069381b2fef4e0a41e0ea65b914}\" ({$v2114c8075d855b3cea53d5d880c68948})"; $this->importErrors++; return false; } $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("import_element"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("process"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("new_element", $v691b2ea4f2db17699a29da0c302a91ea); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("old_element_id", $v2114c8075d855b3cea53d5d880c68948); $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("element_info", $vfc07ae6b81515e9c73cb36ac08488ca1); $v161c9aaa4fe035e7b2f465bc59f3ab45->addRef("props", $this->xml_objects[$v75cacdb2219ff0da09cc2f909ea64759]['props']); umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45); if ($v53f070b923b86cc3c1b95e9950674c7c !== NULL) { $v691b2ea4f2db17699a29da0c302a91ea->setIsActive($v53f070b923b86cc3c1b95e9950674c7c); } if ($v712546bad453a4d99cb79be316f6e64b !== NULL) { $v691b2ea4f2db17699a29da0c302a91ea->setIsVisible($v712546bad453a4d99cb79be316f6e64b); } if ($vd84ff935144e00c3e1d395c2379aca47) { $v691b2ea4f2db17699a29da0c302a91ea->setAltName($vd84ff935144e00c3e1d395c2379aca47); } if ($v10b04069381b2fef4e0a41e0ea65b914) { $v691b2ea4f2db17699a29da0c302a91ea->setName($v10b04069381b2fef4e0a41e0ea65b914); } $v82e85d12802becdae851373fcc70c4ff = array(); $v50fe03ab7bf37089a7e88da9b31ffb3b = $this->xml_objects[$v75cacdb2219ff0da09cc2f909ea64759]['props']; foreach ($v50fe03ab7bf37089a7e88da9b31ffb3b as $vdfc394bd05a4b48161c790034af522a8 => $v410e0a26c217dfabf8a5653e8f9e68ef) { $v2771be291c4a714ca95fd1f45a32403e = $v410e0a26c217dfabf8a5653e8f9e68ef['values']; $v519504d7d4beb745dac24ccfb6c1d7c9 = $v410e0a26c217dfabf8a5653e8f9e68ef['field_type']; if ($v519504d7d4beb745dac24ccfb6c1d7c9 == "img_file") { if (isset($v2771be291c4a714ca95fd1f45a32403e[0])) { $v2771be291c4a714ca95fd1f45a32403e[0] = new umiImageFile($v2771be291c4a714ca95fd1f45a32403e[0]); } } $vdfc394bd05a4b48161c790034af522a8 = translit::convert($vdfc394bd05a4b48161c790034af522a8); if ($v691b2ea4f2db17699a29da0c302a91ea->getObject()->getPropByName($vdfc394bd05a4b48161c790034af522a8)) { if ($v519504d7d4beb745dac24ccfb6c1d7c9 == 'price' && strlen($v410e0a26c217dfabf8a5653e8f9e68ef['currency_code'])) { $vfcaea7edd270964cc145ea48e4367d43 = cmsController::getInstance()->getModule('emarket'); if ($vfcaea7edd270964cc145ea48e4367d43) { $v78a5eb43deef9a7b5b9ce157b9d52ac4 = isset($v2771be291c4a714ca95fd1f45a32403e[0]) ? floatval($v2771be291c4a714ca95fd1f45a32403e[0]) : 0; $v1af0389838508d7016a9841eb6273962 = $vfcaea7edd270964cc145ea48e4367d43->getCurrency($v410e0a26c217dfabf8a5653e8f9e68ef['currency_code']); if ($v1af0389838508d7016a9841eb6273962) { $v30de5920b8dd5258394e19caa86bbe80 = $vfcaea7edd270964cc145ea48e4367d43->formatCurrencyPrice(array($v78a5eb43deef9a7b5b9ce157b9d52ac4), $vfcaea7edd270964cc145ea48e4367d43->getDefaultCurrency(), $v1af0389838508d7016a9841eb6273962); $v2771be291c4a714ca95fd1f45a32403e = isset($v30de5920b8dd5258394e19caa86bbe80[0]) ? floatval($v30de5920b8dd5258394e19caa86bbe80[0]) : 0; } } } $v691b2ea4f2db17699a29da0c302a91ea->setValue($vdfc394bd05a4b48161c790034af522a8, $v2771be291c4a714ca95fd1f45a32403e); } else { $v82e85d12802becdae851373fcc70c4ff[] = $v410e0a26c217dfabf8a5653e8f9e68ef; } } $this->addMissedProps($v691b2ea4f2db17699a29da0c302a91ea, $v82e85d12802becdae851373fcc70c4ff, $v2741adf691b2acf0359a6a73234bc605); if (count($v82e85d12802becdae851373fcc70c4ff)) { $v691b2ea4f2db17699a29da0c302a91ea->getObject()->update(); } foreach ($v82e85d12802becdae851373fcc70c4ff as $v410e0a26c217dfabf8a5653e8f9e68ef) { $v2771be291c4a714ca95fd1f45a32403e = $v410e0a26c217dfabf8a5653e8f9e68ef['values']; $v519504d7d4beb745dac24ccfb6c1d7c9 = $v410e0a26c217dfabf8a5653e8f9e68ef['field_type']; if ($v519504d7d4beb745dac24ccfb6c1d7c9 == "img_file") { if ($v2771be291c4a714ca95fd1f45a32403e[0]) { $v2771be291c4a714ca95fd1f45a32403e[0] = new umiImageFile($v2771be291c4a714ca95fd1f45a32403e[0]); } } if (!$v410e0a26c217dfabf8a5653e8f9e68ef['name']) { $v410e0a26c217dfabf8a5653e8f9e68ef['name'] = translit::convert($v410e0a26c217dfabf8a5653e8f9e68ef['title']); } $v410e0a26c217dfabf8a5653e8f9e68ef['name'] = translit::convert($v410e0a26c217dfabf8a5653e8f9e68ef['name']); if (!$v691b2ea4f2db17699a29da0c302a91ea->setValue($v410e0a26c217dfabf8a5653e8f9e68ef['name'], $v2771be291c4a714ca95fd1f45a32403e)) { continue; } } $v691b2ea4f2db17699a29da0c302a91ea->commit(); if ($v3252048a9dc6701c34b83c15c5be40f7) { $this->importLog[] = "Element \"" . $v10b04069381b2fef4e0a41e0ea65b914 . "\" (" . $v2114c8075d855b3cea53d5d880c68948 . ") has been created"; $this->createdElements++; } else { $this->importLog[] = "Element \"" . $v10b04069381b2fef4e0a41e0ea65b914 . "\" (" . $v2114c8075d855b3cea53d5d880c68948 . ") has been updated"; $this->updatedElements++; } $v5e949eb2c66f5d51b8a4d4185a693b3f = umiObjectProperty::$USE_FORCE_OBJECTS_CREATION; umiObjectProperty::$USE_FORCE_OBJECTS_CREATION = false; $v9dfb9e2c355fe22768c93f6e0c33f1f9 = umiObjectTypesCollection::getInstance()->getBaseType("eshop", "store"); $v6f95a0b0f896cf9349af3afc8a2752df = umiObjectTypesCollection::getInstance()->getBaseType("eshop", "store_relation"); $va8973f92932ba8c02915c86424eb77b0 = cmsController::getInstance()->getModule("eshop"); if ($va8973f92932ba8c02915c86424eb77b0 && $v9dfb9e2c355fe22768c93f6e0c33f1f9 && $v6f95a0b0f896cf9349af3afc8a2752df) { if (isset($this->xml_stores[$v75cacdb2219ff0da09cc2f909ea64759])) { foreach ($this->xml_stores[$v75cacdb2219ff0da09cc2f909ea64759] as $v57f6446eb03e6af4fa631be4795f0c9b) { $v4ab09853d1229afdaa2c4b00b44b4828 = $v57f6446eb03e6af4fa631be4795f0c9b['old_store_id']; $vbd047b181e82cec3af1400e7ee193be5 = $v57f6446eb03e6af4fa631be4795f0c9b['amount']; $vb137c8149c716d240351a4b96434a60c = $this->getStoreIdByName($v4ab09853d1229afdaa2c4b00b44b4828); if ($vb137c8149c716d240351a4b96434a60c === false) { $vb137c8149c716d240351a4b96434a60c = umiObjectsCollection::getInstance()->addObject($v4ab09853d1229afdaa2c4b00b44b4828, $v9dfb9e2c355fe22768c93f6e0c33f1f9); } $vd47cbc7965be6318a50b0b921e4de391 = umiObjectsCollection::getInstance()->getObject($vb137c8149c716d240351a4b96434a60c); if ($vd47cbc7965be6318a50b0b921e4de391 instanceof umiObject) { $vd47cbc7965be6318a50b0b921e4de391->setName($v4ab09853d1229afdaa2c4b00b44b4828); $vd47cbc7965be6318a50b0b921e4de391->commit(); $va8973f92932ba8c02915c86424eb77b0->setStoreAmount($v691b2ea4f2db17699a29da0c302a91ea->getId(), $vb137c8149c716d240351a4b96434a60c, $vbd047b181e82cec3af1400e7ee193be5); } } } } umiObjectProperty::$USE_FORCE_OBJECTS_CREATION = $v5e949eb2c66f5d51b8a4d4185a693b3f; $v161c9aaa4fe035e7b2f465bc59f3ab45 = new umiEventPoint("import_element"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setMode("after"); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("new_element_id", $v777ccf80e4e83a9e7cdddd6ebc1edff7); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("old_element_id", $v2114c8075d855b3cea53d5d880c68948); $v161c9aaa4fe035e7b2f465bc59f3ab45->setParam("element_info", $vfc07ae6b81515e9c73cb36ac08488ca1); umiEventsController::getInstance()->callEvent($v161c9aaa4fe035e7b2f465bc59f3ab45); umiHierarchy::getInstance()->unloadElement($v777ccf80e4e83a9e7cdddd6ebc1edff7); }
public function message() { $iObjectId = (int) getRequest('param0'); $oCollection = umiObjectsCollection::getInstance(); if (!$oCollection->isExists($iObjectId)) { throw new publicAdminException('The object does not exist'); } $oMessage = umiObjectsCollection::getInstance()->getObject($iObjectId); $this->validateEntityByTypes($oMessage, array('module' => 'webforms'), true); $eventPoint = new umiEventPoint("sysytemBeginObjectEdit"); $eventPoint->setMode("before"); $eventPoint->addRef("object", $oCollection->getObject($iObjectId)); $eventPoint->call(); $sMessage = $this->formatMessage($iObjectId); $sAddress = $oMessage->getName(); $sForm = umiObjectTypesCollection::getInstance()->getType($oMessage->getTypeId())->getName(); $sIP = $oMessage->getValue('sender_ip'); /** * @var umiDate */ $oDate = $oMessage->getValue('sending_time'); $this->setDataType("settings"); $this->setActionType("view"); $data = $this->prepareData(array('Message' => array('string:message' => $sMessage, 'string:address' => $sAddress, 'string:form' => $sForm, 'string:date' => $oDate instanceof umiDate ? $oDate->getFormattedDate() : "", 'string:ip' => $sIP, 'int:id' => $iObjectId)), "settings"); $this->setData($data); return $this->doData(); }
public function activate($template = "default") { if ($this->is_auth()) $this->redirect("/"); if(!$template) $template = "default"; list($template_block, $template_block_failed) = def_module::loadTemplates("users/register/".$template, "activate_block", "activate_block_failed"); $block_arr = Array(); $activate_code = (string) getRequest('param0'); if(!$activate_code || strlen($activate_code) != 32) { throw new publicException("%error_activation_code_failed%"); $template = $template_block_failed; } $typesCollection = umiObjectTypesCollection::getInstance(); $object_type_id = $typesCollection->getBaseType("users", "user"); $object_type = $typesCollection->getType($object_type_id); $childTypes = $typesCollection->getChildClasses($object_type_id); $activate_code_field_id = $object_type->getFieldId("activate_code"); $sel = new umiSelection; $sel->addLimit(1); $sel->addObjectType($object_type_id); $sel->addObjectType($childTypes); $sel->addPropertyFilterEqual($activate_code_field_id, $activate_code); $result = umiSelectionsParser::runSelection($sel); if($result) { list($user_id) = $result; $user = umiObjectsCollection::getInstance()->getObject($user_id); $user->setValue("is_activated", 1); $user->setValue("activate_code", md5(uniqid(rand(), true))); $user->commit(); permissionsCollection::getInstance()->loginAsUser($result); $oEventPoint = new umiEventPoint("users_activate"); $oEventPoint->setMode("after"); $oEventPoint->setParam("user_id", $user_id); $this->setEventPoint($oEventPoint); $template = $template_block; } else { throw new publicException("%error_activation_code_failed%"); $template = $template_block_failed; } return def_module::parseTemplate($template, $block_arr); }
public function tree_copy_element() { $element = $this->expectElement('element'); $cloneMode = (bool) getRequest('clone_mode'); $copyAll = (bool) getRequest('copy_all'); $parentId = (int) getRequest('rel'); $new_element_id = false; if ($element instanceof umiHierarchyElement) { $element_id = $element->getId(); if (!($parentId && umiHierarchy::getInstance()->isExists($parentId))) { $parentId = umiHierarchy::getInstance()->getParent($element_id); } if (defined("DB_DRIVER") && DB_DRIVER != "xml" || !defined("DB_DRIVER")) { l_mysql_query("START TRANSACTION"); } if ($cloneMode) { // create real copy $clone_allowed = true; if ($clone_allowed) { $event = new umiEventPoint("systemCloneElement"); $event->addRef("element", $element); $event->setParam("elementId", $element_id); $event->setParam("parentId", $parentId); $event->setMode("before"); $event->call(); $new_element_id = umiHierarchy::getInstance()->cloneElement($element_id, $parentId, $copyAll); $event->setParam("newElementId", $new_element_id); $event->setMode("after"); $event->call(); $new_element = umiHierarchy::getInstance()->getElement((int) $new_element_id, false, false); $event = new umiEventPoint("systemCreateElementAfter"); $event->addRef("element", $new_element); $event->setParam("elementId", $new_element_id); $event->setParam("parentId", $parentId); $event->setMode("after"); $event->call(); } } else { // create virtual copy $event = new umiEventPoint("systemVirtualCopyElement"); $event->setParam("elementId", $element_id); $event->setParam("parentId", $parentId); $event->addRef("element", $element); $event->setMode("before"); $event->call(); $new_element_id = umiHierarchy::getInstance()->copyElement($element_id, $parentId, $copyAll); $event->setParam("newElementId", $element_id); $event->setMode("after"); $event->call(); $new_element = umiHierarchy::getInstance()->getElement((int) $new_element_id, false, false); $event = new umiEventPoint("systemCreateElementAfter"); $event->addRef("element", $new_element); $event->setParam("elementId", $new_element_id); $event->setParam("parentId", $parentId); $event->setMode("after"); $event->call(); } if ($new_element_id) { if ((bool) getRequest('return_copies')) { $this->setDataType("form"); $this->setActionType("modify"); $data = $this->prepareData(array('element' => $new_element), "page"); $this->setData($data); } else { $this->setDataType("list"); $this->setActionType("view"); $data = $this->prepareData(array($new_element_id), "pages"); $this->setData($data); } if (defined("DB_DRIVER") && DB_DRIVER != "xml" || !defined("DB_DRIVER")) { l_mysql_query("COMMIT"); } return $this->doData(); } else { throw new publicAdminException(getLabel('error-copy-element')); } } else { throw new publicAdminException(getLabel('error-expect-element')); } }
public function delObject($vaf31437ce61345f416579830a98c91e5) { $v4119639092e62c55ea8be348e4d9260d = new umiEventPoint("collectionDeleteObject"); $v4119639092e62c55ea8be348e4d9260d->setParam("object_id", $vaf31437ce61345f416579830a98c91e5); $v4119639092e62c55ea8be348e4d9260d->setMode("before"); $v4119639092e62c55ea8be348e4d9260d->call(); if ($this->isExists($vaf31437ce61345f416579830a98c91e5)) { $this->disableCache(); $vaf31437ce61345f416579830a98c91e5 = (int) $vaf31437ce61345f416579830a98c91e5; if (defined("SV_USER_ID")) { if ($vaf31437ce61345f416579830a98c91e5 == SV_USER_ID || $vaf31437ce61345f416579830a98c91e5 == SV_GROUP_ID || $vaf31437ce61345f416579830a98c91e5 == $this->getObjectIdByGUID('system-guest')) { throw new coreException("You are not allowed to delete object #{$vaf31437ce61345f416579830a98c91e5}. Never. Don't even try."); } } $va8cfde6331bd59eb2ac96f8911c4b666 = $this->getObject($vaf31437ce61345f416579830a98c91e5); $va8cfde6331bd59eb2ac96f8911c4b666->commit(); $vac5c74b64b4b8352ef2f181affb5ac2a = "DELETE FROM cms3_objects WHERE id = '{$vaf31437ce61345f416579830a98c91e5}' AND is_locked='0'"; l_mysql_query($vac5c74b64b4b8352ef2f181affb5ac2a); if ($v56bd7107802ebe56c6918992f0608ec6 = l_mysql_error()) { throw new coreException($v56bd7107802ebe56c6918992f0608ec6); return false; } if ($this->isLoaded($vaf31437ce61345f416579830a98c91e5)) { unset($this->objects[$vaf31437ce61345f416579830a98c91e5]); } cacheFrontend::getInstance()->del($vaf31437ce61345f416579830a98c91e5, "object"); $v4119639092e62c55ea8be348e4d9260d->setMode("after"); $v4119639092e62c55ea8be348e4d9260d->call(); return true; } else { return false; } }