public function process($template = null) { list($tpl_block, $tpl_item) = def_module::loadTemplates("emarket/payment/invoice/" . $template, 'legal_person_block', 'legal_person_item'); $collection = umiObjectsCollection::getInstance(); $types = umiObjectTypesCollection::getInstance(); $typeId = $types->getBaseType("emarket", "legal_person"); $customer = customer::get(); $order = $this->order; $mode = getRequest('param2'); if ($mode == 'do') { $personId = getRequest('legal-person'); $isNew = $personId == null || $personId == 'new'; if ($isNew) { $typeId = $types->getBaseType("emarket", "legal_person"); $personId = $collection->addObject("", $typeId); $controller = cmsController::getInstance(); $data = getRequest('data'); if ($data && ($dataModule = $controller->getModule("data"))) { $person = $collection->getObject($personId); $person->setName($data['new']['name']); $dataModule->saveEditedObject($personId, $isNew, true); } if ($collection->getObject($personId) instanceof umiObject) { $customer = customer::get(); $customer->legal_persons = array_merge($customer->legal_persons, array($personId)); } } $order->legal_person = $personId; $order->order(); $order->payment_document_num = $order->id; $result = $this->printInvoice($order); $buffer = outputBuffer::current(); $buffer->charset('utf-8'); $buffer->contentType('text/html'); $buffer->clear(); $buffer->push($result); $buffer->end(); return true; } else { if ($mode == 'delete') { $personId = (int) getRequest('person-id'); if ($collection->isExists($personId)) { $customer = customer::get(); $customer->legal_persons = array_diff($customer->legal_persons, array($personId)); $collection->delObject($personId); } } } $items = array(); $persons = $customer->legal_persons; if (is_array($persons)) { foreach ($persons as $personId) { $person = $collection->getObject($personId); $item_arr = array('attribute:id' => $personId, 'attribute:name' => $person->name); $items[] = def_module::parseTemplate($tpl_item, $item_arr, false, $personId); } } $block_arr = array('attribute:type-id' => $typeId, 'attribute:type_id' => $typeId, 'xlink:href' => 'udata://data/getCreateForm/' . $typeId, 'subnodes:items' => $items); return def_module::parseTemplate($tpl_block, $block_arr); }
public function tagsCloud($template = "default", $limit = 50, $max_font_size = 16) { list($template_block, $template_line, $template_separator) = def_module::loadTemplates("stat/" . $template, "tags_block", "tags_block_line", "tags_separator"); $factory = new statisticFactory(dirname(__FILE__) . '/classes'); $factory->isValid('allTags'); $report = $factory->get('allTags'); $report->setStart(0); $report->setFinish(strtotime("+1 day", time())); $result = $report->get(); $max = $result['max']; $lines = array(); $i = 0; $sz = sizeof($result['labels']); for ($i = 0; $i < min($sz, $limit); $i++) { $label = $result['labels'][$i]; $line_arr = array(); $tag = $label['tag']; $cnt = $label['cnt']; $fontSize = ceil($max_font_size * ($cnt / $max)); $line_arr['node:tag'] = $tag; $line_arr['attribute:cnt'] = $cnt; $line_arr['attribute:font-size'] = $fontSize; $line_arr['void:separator'] = $i < $sz - 1 ? $template_separator : ""; $line_arr['void:font_size'] = $fontSize; $lines[] = def_module::parseTemplate($template_line, $line_arr); } $block_arr = array(); $block_arr['subnodes:lines'] = $lines; $block_arr['total'] = $sz; $block_arr['per_page'] = $limit; return def_module::parseTemplate($template_block, $block_arr); }
public function getGuideList($id, $template = 'guidelist', $arrayOnly = false) { if (!$id) { return null; } //id справочника $o = umiObjectsCollection::getInstance(); $items = $o->getGuidedItems($id); if (!sizeof($items)) { return null; } if ($arrayOnly) { return $items; } list($guide_block, $guide_item) = def_module::loadTemplates("catalog/{$template}.tpl", "guide_block", "guide_item"); $s = ''; $block_array = array(); foreach ($items as $k => $v) { $line_array = array(); $line_array['id'] = $k; $line_array['name'] = $items[$k]; $s .= def_module::parseTemplate($guide_item, $line_array); } $block_array['lines'] = $s; unset($items); $s = def_module::parseTemplate($guide_block, $block_array); return $s; }
public function process($template = null) { $productId = $this->object->product_id; $siteId = $this->object->site_id; $productName = $this->order->getId(); $cmsController = cmsController::getInstance(); $language = strtolower($cmsController->getCurrentLang()->getPrefix()); switch ($language) { case 'ru': $language = 'ru'; break; default: $language = 'en'; break; } $this->order->order(); $productPrice = $this->order->getActualPrice(); $secretCode = $this->object->secret; $priceString = number_format($productPrice, 2, '.', ''); $sign = md5($productId . '-' . $priceString . '-' . $secretCode); $answerUrl = $cmsController->getCurrentDomain()->getHost() . "/emarket/gateway/" . $this->order->getId() . "/"; $param = array(); $param["formAction"] = "https://payments.chronopay.com/index.php"; $param["product_id"] = $productId; $param["product_price"] = $productPrice; $param["language"] = $language; $param["order_id"] = $this->order->getId(); $param["cb_type"] = "P"; $param["cb_url"] = $answerUrl; $param["decline_url"] = $cmsController->getCurrentDomain()->getHost(); $param["sign"] = $sign; $this->order->setPaymentStatus('initialized'); list($templateString) = def_module::loadTemplates("emarket/payment/chronopay/" . $template, "form_block"); return def_module::parseTemplate($templateString, $param); }
public function process($template = null) { $this->order->order(); $currency = strtoupper(mainConfiguration::getInstance()->get('system', 'default-currency')); if ($currency == 'RUR') { $currency = 'RUB'; } $amount = number_format($this->order->getActualPrice(), 2, '.', ''); $orderId = $this->order->getId() . '.' . time(); $merchantId = $this->object->mnt_id; $dataIntegrityCode = $this->object->mnt_data_integrity_code; $successUrl = $this->object->mnt_success_url; $failUrl = $this->object->mnt_fail_url; $testMode = $this->object->mnt_test_mode; $systemUrl = $this->object->mnt_system_url; if (empty($testMode)) { $testMode = 0; } $signature = md5("{$merchantId}{$orderId}{$amount}{$currency}{$testMode}{$dataIntegrityCode}"); $param = array(); $param['formAction'] = "https://{$systemUrl}/assistant.htm"; $param['mntId'] = $merchantId; $param['mnTransactionId'] = $orderId; $param['mntCurrencyCode'] = $currency; $param['mntAmount'] = $amount; $param['mntTestMode'] = $testMode; $param['mntSignature'] = $signature; $param['mntSuccessUrl'] = $successUrl; $param['mntFailUrl'] = $failUrl; $this->order->setPaymentStatus('initialized'); list($templateString) = def_module::loadTemplates("emarket/payment/payanyway/" . $template, "form_block"); return def_module::parseTemplate($templateString, $param); }
public function process($template = null) { $this->order->order(); $currency = strtoupper(mainConfiguration::getInstance()->get('system', 'default-currency')); // NB! Possible values for PayOnline are RUB (not RUR!), EUR and USD if (!in_array($currency, array('RUB', 'EUR', 'USD'))) { $currency = 'RUB'; } $merchantId = $this->object->merchant_id; $privateKey = $this->object->private_key; $orderId = $this->order->getId(); $amount = number_format($this->order->getActualPrice(), 2, '.', ''); $keyString = "MerchantId={$merchantId}&OrderId={$orderId}&Amount={$amount}&Currency={$currency}&PrivateSecurityKey={$privateKey}"; $securityKey = md5($keyString); $formAction = "?MerchantId={$merchantId}&OrderId={$orderId}&Amount={$amount}&Currency={$currency}&SecurityKey={$securityKey}&order-id={$orderId}"; $formAction = "https://secure.payonlinesystem.com/ru/payment/" . $formAction; $param = array(); $param['formAction'] = $formAction; $param['MerchantId'] = $merchantId; $param['OrderId'] = $orderId; $param['Amount'] = $amount; $param['Currency'] = $currency; $param['SecurityKey'] = $securityKey; $param['orderId'] = $orderId; $param['ReturnUrl'] = 'http://' . cmsController::getInstance()->getCurrentDomain()->getHost(); $this->order->setPaymentStatus('initialized'); list($templateString) = def_module::loadTemplates("emarket/payment/payonline/" . $template, "form_block"); return def_module::parseTemplate($templateString, $param); }
public function profile($template = "default", $user_id = false) { if (!$template) { $template = "default"; } list($template_block, $template_bad_user_block) = def_module::loadTemplates("users/profile/" . $template, "profile_block", "bad_user_block"); $block_arr = array(); if (!$user_id) { $user_id = (int) getRequest('param0'); } if (!$user_id) { $permissions = permissionsCollection::getInstance(); if ($permissions->isAuth()) { $user_id = $permissions->getUserId(); } } if ($user = selector::get('object')->id($user_id)) { $this->validateEntityByTypes($user, array('module' => 'users', 'method' => 'user')); $block_arr['xlink:href'] = "uobject://" . $user_id; $userTypeId = $user->getTypeId(); if ($userType = umiObjectTypesCollection::getInstance()->getType($userTypeId)) { $userHierarchyTypeId = $userType->getHierarchyTypeId(); if ($userHierarchyType = umiHierarchyTypesCollection::getInstance()->getType($userHierarchyTypeId)) { if ($userHierarchyType->getName() == "users" && $userHierarchyType->getExt() == "user") { $block_arr['id'] = $user_id; return def_module::parseTemplate($template_block, $block_arr, false, $user_id); } } } } else { throw new publicException(getLabel('error-object-does-not-exist', null, $user_id)); } return def_module::parseTemplate($template_bad_user_block, $block_arr); }
public function viewAuthor($author_id = false, $template = "default") { if ($author_id === false) { throw new publicException(getLabel('error-object-does-not-exist', null, $author_id)); } if (!($author = umiObjectsCollection::getInstance()->getObject($author_id))) { throw new publicException(getLabel('error-object-does-not-exist', null, $author_id)); } if (!$template) { $template = "default"; } list($template_user, $template_guest, $template_sv) = def_module::loadTemplates("users/author/{$template}", "user_block", "guest_block", "sv_block"); $block_arr = array(); if ($author->getTypeId() == umiObjectTypesCollection::getInstance()->getBaseType('users', 'user')) { $template = $template_user; $block_arr['user_id'] = $author_id; $user = $author; $block_arr['nickname'] = $user->getValue("login"); $block_arr['email'] = $user->getValue("e-mail"); $block_arr['fname'] = $user->getValue("fname"); $block_arr['lname'] = $user->getValue("lname"); $block_arr['subnodes:groups'] = $groups = $user->getValue("groups"); if (in_array(SV_GROUP_ID, $groups)) { if ($template_sv) { $template = $template_sv; } } } else { if ($author->getValue("is_registrated")) { $template = $template_user; $block_arr['user_id'] = $user_id = $author->getValue("user_id"); $user = umiObjectsCollection::getInstance()->getObject($user_id); if (!$user instanceof umiObject) { $block_arr['user_id'] = $user_id = intval(regedit::getInstance()->getVal("//modules/users/guest_id")); $user = umiObjectsCollection::getInstance()->getObject($user_id); } if (!$user instanceof umiObject) { return false; } $block_arr['nickname'] = $user->getValue("login"); $block_arr['login'] = $user->getValue("login"); $block_arr['email'] = $user->getValue("e-mail"); $block_arr['fname'] = $user->getValue("fname"); $block_arr['lname'] = $user->getValue("lname"); $block_arr['subnodes:groups'] = $groups = $user->getValue("groups"); if (in_array(SV_GROUP_ID, $groups)) { if ($template_sv) { $template = $template_sv; } } } else { $template = $template_guest; $block_arr['nickname'] = $author->getValue("nickname"); $block_arr['email'] = $author->getValue("email"); } } return def_module::parseTemplate($template, $block_arr, false, $author_id); }
public function json_rate($template = "default") { if (!$template) { $template = "default"; } $block_arr = array(); $element_id = (int) getRequest('param0'); $element = umiHierarchy::getInstance()->getElement($element_id); if (regedit::getInstance()->getVal("//modules/vote/is_graded")) { $bid = (int) getRequest('param1'); if ($bid > 5) { $bid = 5; } if ($bid < 0) { $bid = 0; } } else { $bid = (bool) getRequest('param1') ? 1 : -1; } list($template_ok, $template_not_found, $template_rated, $template_permitted) = def_module::loadTemplates("vote/rate/" . $template, "rate_ok", "rate_not_found", "rate_rated", "rate_permitted"); if ($is_private = (bool) regedit::getInstance()->getVal("//modules/vote/is_private")) { $users_module = cmsController::getInstance()->getModule("users"); if (!$users_module->is_auth()) { header("Content-type: text/javascript; charset=utf-8"); $template_permitted = def_module::parseTemplate($template_permitted, $block_arr, $element_id); $this->flush($template_permitted); } } $block_arr = array(); $block_arr['request_id'] = getRequest('requestId'); if ($element) { $block_arr['element_id'] = $element_id; if (self::getIsRated($element_id)) { $rate_voters = $element->getValue("rate_voters"); $rate_sum = $element->getValue("rate_sum"); $res = $template_rated; } else { $rate_voters = (int) $element->getValue("rate_voters"); $rate_sum = (int) $element->getValue("rate_sum") + (int) $bid; $element->setValue("rate_voters", ++$rate_voters); $element->setValue("rate_sum", $rate_sum); $element->setValue("rate", round($rate_sum / $rate_voters, 2)); $element->commit(); umiHierarchy::getInstance()->unloadElement($element_id); $res = $template_ok; self::setIsRated($element_id); } $block_arr['current_rating'] = $rate_sum / $rate_voters; } else { $res = $template_not_found; } $res = def_module::parseTemplate($res, $block_arr, $element_id); header("Content-type: text/javascript; charset=utf-8"); $this->flush($res); }
public function renderBonusPayment(order $order, $template) { list($tpl_block) = def_module::loadTemplates("emarket/payment/" . $template, 'bonus_block'); $customer = customer::get($order->getCustomerId()); $block_arr = array('bonus' => $this->formatCurrencyPrice(array('reserved_bonus' => $order->getBonusDiscount(), 'available_bonus' => $customer->bonus, 'spent_bonus' => $customer->spent_bonus, 'actual_total_price' => $order->getActualPrice()))); $block_arr['void:reserved_bonus'] = $this->parsePriceTpl($template, $this->formatCurrencyPrice(array('actual' => $order->getBonusDiscount()))); $block_arr['void:available_bonus'] = $this->parsePriceTpl($template, $this->formatCurrencyPrice(array('actual' => $customer->bonus))); $block_arr['void:spent_bonus'] = $this->parsePriceTpl($template, $this->formatCurrencyPrice(array('actual' => $customer->spent_bonus))); $block_arr['void:actual_total_price'] = $this->parsePriceTpl($template, $this->formatCurrencyPrice(array('actual' => $order->getActualPrice()))); return def_module::parseTemplate($tpl_block, $block_arr); }
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 function process($template = null) { $this->order->order(); $currency = strtoupper(mainConfiguration::getInstance()->get('system', 'default-currency')); $amount = number_format($this->order->getActualPrice(), 2, '.', ''); $orderId = $this->order->getId(); $mnt_ubrir_id = $this->object->mnt_ubrir_id; $mnt_secret_key = $this->object->mnt_secret_key; $mnt_uni_id = $this->object->mnt_uni_id; $mnt_uni_login = $this->object->mnt_uni_login; $mnt_uni_pass = $this->object->mnt_uni_pass; $mnt_uni_emp = $this->object->mnt_uni_emp; $mnt_two = $this->object->mnt_two; $cmsController = cmsController::getInstance(); $answerUrl = 'http://' . $cmsController->getCurrentDomain()->getHost() . "/emarket/gateway/" . $this->order->getId() . '/'; $failUrl = 'http://' . $cmsController->getCurrentDomain()->getHost() . '/emarket/purchase/result/fail/'; $successUrl = 'http://' . $cmsController->getCurrentDomain()->getHost() . '/emarket/purchase/result/successful/'; if (is_array($mnt_ubrir_id)) { $mnt_ubrir_id = $mnt_ubrir_id[0]; } if (is_array($mnt_secret_key)) { $mnt_secret_key = $mnt_secret_key[0]; } $bankHandler = new Ubrir(array('shopId' => $mnt_ubrir_id, 'order_id' => $orderId, 'sert' => $mnt_secret_key, 'amount' => $amount, 'approve_url' => $answerUrl, 'cancel_url' => $failUrl, 'decline_url' => $failUrl)); $response_order = $bankHandler->prepare_to_pay(); $new_order_twpg = l_mysql_query('INSERT INTO `umi_twpg` (`umi_id`, `twpg_id`, `session_id`) VALUES ("' . $orderId . '", "' . $response_order->OrderID[0] . '", "' . $response_order->SessionID[0] . '")'); $param = array(); if (is_array($mnt_uni_id)) { $mnt_uni_id = $mnt_uni_id[0]; } //if(is_array($mnt_uni_login)) if (is_array($mnt_uni_pass)) { $mnt_uni_pass = $mnt_uni_pass[0]; } //var_dump($mnt_uni_login); die; $param['sign'] = strtoupper(md5(md5($mnt_uni_id) . '&' . md5($mnt_uni_login) . '&' . md5($mnt_uni_pass) . '&' . md5($orderId) . '&' . md5($amount))); $param['twpg_url'] = $response_order->URL[0] . '?orderid=' . $response_order->OrderID[0] . '&sessionid=' . $response_order->SessionID[0]; $param['uni_id'] = $mnt_uni_id; $param['uni_login'] = $mnt_uni_login; $param['amount'] = $amount; $param['order_id'] = $orderId; $param['urlno'] = $failUrl; $param['urlok'] = $successUrl; if ($mnt_two == 1) { $param['uni_submit'] = ' <INPUT TYPE="button" onclick="document.forms.uniteller.submit()" value="Оплатить MasterCard">'; } else { $param['uni_submit'] = ''; } $this->order->setPaymentStatus('initialized'); list($templateString) = def_module::loadTemplates("tpls/emarket/payment/ubrir/ubrir.tpl", "form_block"); return def_module::parseTemplate($templateString, $param); }
public function view($elementPath = "", $template = "default") { if ($this->breakMe()) { return; } $hierarchy = umiHierarchy::getInstance(); list($template_block) = def_module::loadTemplates("tpls/modulelements/{$template}.tpl", "view"); $elementId = $this->analyzeRequiredPath($elementPath); //echo $elementId; $element = $hierarchy->getElement($elementId); templater::pushEditable("modulelements", "item_element", $element->id); return self::parseTemplate($template_block, array('id' => $element->id), $element->id); }
public function process($template = null) { $this->order->order(); $currency = strtoupper( mainConfiguration::getInstance()->get('system', 'default-currency') ); $amount = number_format($this->order->getActualPrice(), 2, '.', ''); $param = array(); $param["formAction"] = "https://rbkmoney.ru/acceptpurchase.aspx"; $param["eshopId"] = $this->object->eshopId; $param["orderId"] = $this->order->id; $param["recipientAmount"] = $amount; $param["recipientCurrency"] = $currency; $param["version"] = "2"; // May be 1 or 2, see documentation $this->order->setPaymentStatus('initialized'); list($templateString) = def_module::loadTemplates("emarket/payment/rbk/".$template, "form_block"); return def_module::parseTemplate($templateString, $param); }
public function stores($elementId, $template = 'default') { if (!$template) { $tempate = 'default'; } $hierarchy = umiHierarchy::getInstance(); $objects = umiObjectsCollection::getInstance(); list($tpl_block, $tpl_block_empty, $tpl_item) = def_module::loadTemplates("emarket/stores/" . $template, 'stores_block', 'stores_block_empty', 'stores_item'); $elementId = $this->analyzeRequiredPath($elementId); if ($elementId == false) { throw new publicException("Wrong element id given"); } $element = $hierarchy->getElement($elementId); if ($element instanceof iUmiHierarchyElement == false) { throw new publicException("Wrong element id given"); } $storesInfo = $element->stores_state; $items_arr = array(); $stores = array(); $total = 0; if (is_array($storesInfo)) { foreach ($storesInfo as $storeInfo) { $object = $objects->getObject(getArrayKey($storeInfo, 'rel')); if ($object instanceof iUmiObject) { $amount = (int) getArrayKey($storeInfo, 'int'); $total += $amount; $store = array('attribute:amount' => $amount); if ($object->primary) { $reserved = (int) $element->reserved; $store['attribute:amount'] -= $reserved; $store['attribute:reserved'] = $reserved; $store['attribute:primary'] = 'primary'; } $store['item'] = $object; $stores[] = $store; $items_arr[] = def_module::parseTemplate($tpl_item, array('store_id' => $object->id, 'amount' => $amount, 'name' => $object->name), false, $object->id); } } } $result = array('stores' => array('attribute:total-amount' => $total, 'nodes:store' => $stores)); $result['void:total-amount'] = $total; $result['void:items'] = $items_arr; if (!$total) { $tpl_block = $tpl_block_empty; } return def_module::parseTemplate($tpl_block, $result); }
/** * Функция рисует список заказов пользователя * @param string $template Название шаблона * @return mixed Список заказов пользователя */ public function show_user_orders($template = 'default') { list($tpl_block, $tpl_block_empty, $tpl_item, $tpl_order_item) = def_module::loadTemplates("emarket/" . $template, 'orders_block', 'orders_block_empty', 'orders_item', 'orders_order_item'); $cmsController = cmsController::getInstance(); $domain = $cmsController->getCurrentDomain(); $domainId = $domain->getId(); $sel = new selector('objects'); $sel->types('object-type')->name('emarket', 'order'); $sel->where('customer_id')->equals(customer::get()->id); $sel->where('name')->isNull(false); $sel->where('domain_id')->equals($domainId); if ($sel->length == 0) { $tpl_block = $tpl_block_empty; } $items_arr = array(); foreach ($sel->result as $selOrder) { $order = order::get($selOrder->id); $item_arr['attribute:id'] = $order->id; $item_arr['attribute:name'] = $order->name; $item_arr['attribute:type-id'] = $order->typeId; $item_arr['attribute:guid'] = $order->GUID; $item_arr['attribute:type-guid'] = $order->typeGUID; $item_arr['attribute:ownerId'] = $order->ownerId; $item_arr['xlink:href'] = $order->xlink; $item_arr['attribute:delivery_allow_date'] = date('d.m.Y', $order->getValue('delivery_allow_date')->timestamp); //print_r($order->getValue('order_items')); //Получаем список товаров заказа $items = array(); foreach ($order->getItems() as $orderItem) { // print_r($order_item); die; $item_line = array(); // print_r(umiHierarchy::getInstance()->getObjectInstances($orderItem->id)); $item_line['attribute:element_id'] = $orderItem->id; $item_line['attribute:name'] = $orderItem->name; $item_line['attribute:item_amount'] = $orderItem->getAmount(); // $item_line['attribute:options'] = $orderItem->getOptions(); // print_r($order_item->options); $items[] = def_module::parseTemplate($tpl_order_item, $item_line, false, $iOrderItemId); umiObjectsCollection::getInstance()->unloadObject($iOrderItemId); } $item_arr['subnodes:order_items'] = $items; $items_arr[] = def_module::parseTemplate($tpl_item, $item_arr, false, $order->id); } return def_module::parseTemplate($tpl_block, array('subnodes:items' => $items_arr)); }
public function checkLogged($template = "default") { if (!$template) { $template = "default"; } if (!$this->is_auth()) { list($template_reg_form) = def_module::loadTemplates("users/" . $template, "login_registration_form"); $from_page = getRequest('from_page'); if (!$from_page) { $from_page = getServer('REQUEST_URI'); } $block_arr = array(); $block_arr['from_page'] = def_module::protectStringVariable($from_page); return def_module::parseTemplate($template_reg_form, $block_arr, false); } else { return; } }
public function discountInfo($discountId = false, $template = 'default') { if (!$template) { $template = 'default'; } list($tpl_block, $tpl_block_empty) = def_module::loadTemplates("emarket/discounts/{$template}", 'discount_block', 'discount_block_empty'); try { $discount = itemDiscount::get($discountId); } catch (privateException $e) { $discount = null; } if ($discount instanceof discount) { $info = array('attribute:id' => $discount->id, 'attribute:name' => $discount->getName(), 'description' => $discount->getValue('description')); return def_module::parseTemplate($tpl_block, $info, false, $discount->id); } else { return def_module::parseTemplate($tpl_block_empty, array()); } }
public function process($template = null) { $this->order->order(); $login = $this->object->login; $password = $this->object->password1; $amount = number_format($this->order->getActualPrice(), 2, '.', ''); $sign = md5("{$login}:{$amount}:{$this->order->id}:{$password}:shp_orderId={$this->order->id}"); $param = array(); $param['formAction'] = $this->object->test_mode ? "http://test.robokassa.ru/Index.aspx" : "https://merchant.roboxchange.com/Index.aspx"; $param['MrchLogin'] = $login; $param['OutSum'] = $amount; $param['InvId'] = $this->order->id; $param['Desc'] = "Payment for order {$this->order->id}"; $param['SignatureValue'] = $sign; $param['shp_orderId'] = $this->order->id; $param['IncCurrLabel'] = ""; $param['Culture'] = strtolower(cmsController::getInstance()->getCurrentLang()->getPrefix()); $this->order->setPaymentStatus('initialized'); list($templateString) = def_module::loadTemplates("emarket/payment/robokassa/".$template, "form_block"); return def_module::parseTemplate($templateString, $param); }
public function process($template = null) { $this->order->order(); $shopId = $this->object->shop_id; $bankId = $this->object->bank_id; $scid = $this->object->scid; if (!strlen($shopId) || !strlen($scid)) { throw new publicException(getLabel('error-payment-wrong-settings')); } $productPrice = (double) $this->order->getActualPrice(); $param = array(); $param['shopId'] = $shopId; $param['Sum'] = $productPrice; $param['BankId'] = $bankId; $param['scid'] = $scid; $param['CustomerNumber'] = $this->order->getId(); $param['formAction'] = $this->object->demo_mode ? 'https://demomoney.yandex.ru/eshop.xml' : 'https://money.yandex.ru/eshop.xml'; $param['orderId'] = $this->order->getId(); $this->order->setPaymentStatus('initialized'); list($templateString) = def_module::loadTemplates("emarket/payment/yandex/" . $template, "form_block"); return def_module::parseTemplate($templateString, $param); }
public function process($template = null) { $currency = strtoupper(mainConfiguration::getInstance()->get('system', 'default-currency')); if ($currency == 'RUR') { $currency = 'RUB'; } list($templateString, $modeItem) = def_module::loadTemplates("emarket/payment/dengionline/" . $template, 'form_block', 'mode_type_item'); $modeTypeItems = array(); $xml = '<request> <action>get_project_paymodes</action> <projectId>' . $this->object->project . '</projectId> </request>'; $headers = array("Content-type" => "application/x-www-form-urlencoded"); $paymentsXML = umiRemoteFileGetter::get('http://www.onlinedengi.ru/dev/xmltalk.php', false, $headers, array('xml' => $xml)); $dom = new DOMDocument('1.0', 'utf-8'); $dom->loadXML($paymentsXML); if ($dom->getElementsByTagName('paymentMode')->length) { foreach ($dom->getElementsByTagName('paymentMode') as $payment) { $modeTypeItems[] = def_module::parseTemplate($modeItem, array('id' => $payment->getAttribute('id'), 'label' => $payment->getAttribute('title'), 'banner' => $payment->getAttribute('banner'))); } } $order = $this->order; $order->order(); $orderId = $order->getId(); $param = array(); $param['formAction'] = "http://www.onlinedengi.ru/wmpaycheck.php?priznak=UMI"; $param['project'] = $this->object->project; // Задаётся пользователем в настройках магазина, поле "ID проекта" $param['amount'] = $order->getActualPrice(); $param['nickname'] = $orderId; $param['order_id'] = $orderId; $param['source'] = $this->object->source; // Задаётся пользователем в настройках магазина, поле "Source (если есть)" $param['comment'] = "Payment for order " . $orderId; $param['paymentCurrency'] = $currency; $param['subnodes:items'] = $param['void:mode_type_list'] = $modeTypeItems; $order->setPaymentStatus('initialized'); return def_module::parseTemplate($templateString, $param); }
public static function generateCaptcha($v66f6181bcb4cff4cd38fbc804a036db6 = "default", $vb082bdddeadb1ea23f679c64ae900ef9 = "sys_captcha", $ve98737036f7752124468103e7fcdb14d = "") { if (!self::isNeedCaptha()) { return def_module::isXSLTResultMode() ? array('comment:explain' => 'Captcha is not required for logged users') : ''; } if (!$v66f6181bcb4cff4cd38fbc804a036db6) { $v66f6181bcb4cff4cd38fbc804a036db6 = "default"; } if (!$vb082bdddeadb1ea23f679c64ae900ef9) { $vb082bdddeadb1ea23f679c64ae900ef9 = "sys_captcha"; } if (!$ve98737036f7752124468103e7fcdb14d) { $ve98737036f7752124468103e7fcdb14d = ""; } $v9af24b163db8fe13fd0c36ae8c4080c1 = "?" . time(); $vfca1bff8ad8b3a8585abfb0ad523ba42 = array(); $vfca1bff8ad8b3a8585abfb0ad523ba42['void:input_id'] = $vb082bdddeadb1ea23f679c64ae900ef9; $vfca1bff8ad8b3a8585abfb0ad523ba42['attribute:captcha_hash'] = $ve98737036f7752124468103e7fcdb14d; $vfca1bff8ad8b3a8585abfb0ad523ba42['attribute:random_string'] = $v9af24b163db8fe13fd0c36ae8c4080c1; $vfca1bff8ad8b3a8585abfb0ad523ba42['url'] = array('attribute:random-string' => $v9af24b163db8fe13fd0c36ae8c4080c1, 'node:value' => '/captcha.php'); list($vb7c60eca084c05c6f9d7b6f220a32025) = def_module::loadTemplates("captcha/" . $v66f6181bcb4cff4cd38fbc804a036db6, "captcha"); return def_module::parseTemplate($vb7c60eca084c05c6f9d7b6f220a32025, $vfca1bff8ad8b3a8585abfb0ad523ba42); }
public function navibar($v66f6181bcb4cff4cd38fbc804a036db6 = 'default', $v67278b1893f28aa5a341740e3d75ff1c = true, $vb7b50d03c3f733165f5701ac7fcf81bf = 0, $v94b05a0fe0ef80a92c054adf7e668bf1 = 0) { if (!$v66f6181bcb4cff4cd38fbc804a036db6) { $v66f6181bcb4cff4cd38fbc804a036db6 = 'default'; } $v8b1dc169bf460ee884fceef66c6607d6 = cmsController::getInstance(); $vb81ca7c0ccaa77e7aa91936ab0070695 = umiHierarchy::getInstance(); $v50d644c42a9f32486af6d339527e1020 = $v8b1dc169bf460ee884fceef66c6607d6->getCurrentElementId(); list($v31912934b8f34be4364cc043cd8a0176, $vd268fd226c122b3da2fabee66e798225, $v5ad10ccde9b1728f3d06c1eb0b05ab0f, $v5499ddd845fc4355a16a16559fa94a0c, $v6bf63b3047051a28085cdb91a050acf3) = def_module::loadTemplates("content/navibar/" . $v66f6181bcb4cff4cd38fbc804a036db6, 'navibar', 'navibar_empty', 'element', 'element_active', 'quantificator'); $vc68ad910ed49ac65f21f1bf2c5dbf912 = $vb81ca7c0ccaa77e7aa91936ab0070695->getAllParents($v50d644c42a9f32486af6d339527e1020); $vc68ad910ed49ac65f21f1bf2c5dbf912[] = $v50d644c42a9f32486af6d339527e1020; $v691d502cfd0e0626cd3b058e5682ad1c = array(); foreach ($vc68ad910ed49ac65f21f1bf2c5dbf912 as $v7552cd149af7495ee7d8225974e50f80) { if (!$v7552cd149af7495ee7d8225974e50f80) { continue; } $v8e2dcfd7e7e24b1ca76c1193f645902b = $vb81ca7c0ccaa77e7aa91936ab0070695->getElement($v7552cd149af7495ee7d8225974e50f80); if ($v8e2dcfd7e7e24b1ca76c1193f645902b instanceof iUmiHierarchyElement) { $v691d502cfd0e0626cd3b058e5682ad1c[] = $v8e2dcfd7e7e24b1ca76c1193f645902b; } } $v7dabf5c198b0bab2eaa42bb03a113e55 = sizeof($v691d502cfd0e0626cd3b058e5682ad1c) - $v94b05a0fe0ef80a92c054adf7e668bf1; $vf1386a17eed513dff70798b0551dc170 = array(); for ($v865c0c0b4ab0e063e5caa3387c1a8741 = (int) $vb7b50d03c3f733165f5701ac7fcf81bf; $v865c0c0b4ab0e063e5caa3387c1a8741 < $v7dabf5c198b0bab2eaa42bb03a113e55; $v865c0c0b4ab0e063e5caa3387c1a8741++) { $v8e2dcfd7e7e24b1ca76c1193f645902b = $v691d502cfd0e0626cd3b058e5682ad1c[$v865c0c0b4ab0e063e5caa3387c1a8741]; $vb7983678c84fd38bc2a4db875f31215d = !$v67278b1893f28aa5a341740e3d75ff1c && $v865c0c0b4ab0e063e5caa3387c1a8741 == $v7dabf5c198b0bab2eaa42bb03a113e55 - 1 ? $v5499ddd845fc4355a16a16559fa94a0c : $v5ad10ccde9b1728f3d06c1eb0b05ab0f; $ve253bed1357afcefc5fadfbc92f9eb97 = def_module::parseTemplate($vb7983678c84fd38bc2a4db875f31215d, array('attribute:id' => $v8e2dcfd7e7e24b1ca76c1193f645902b->id, 'attribute:link' => $v8e2dcfd7e7e24b1ca76c1193f645902b->link, 'xlink:href' => 'upage://' . $v8e2dcfd7e7e24b1ca76c1193f645902b->id, 'node:text' => $v8e2dcfd7e7e24b1ca76c1193f645902b->name), $v8e2dcfd7e7e24b1ca76c1193f645902b->id); if (is_string($ve253bed1357afcefc5fadfbc92f9eb97) && $v865c0c0b4ab0e063e5caa3387c1a8741 != $v7dabf5c198b0bab2eaa42bb03a113e55 - 1) { $ve253bed1357afcefc5fadfbc92f9eb97 .= $v6bf63b3047051a28085cdb91a050acf3; } $vf1386a17eed513dff70798b0551dc170[] = $ve253bed1357afcefc5fadfbc92f9eb97; } if ($v7dabf5c198b0bab2eaa42bb03a113e55 == 0) { $v31912934b8f34be4364cc043cd8a0176 = $vd268fd226c122b3da2fabee66e798225; } return def_module::parseTemplate($v31912934b8f34be4364cc043cd8a0176, array('items' => array('nodes:item' => $vf1386a17eed513dff70798b0551dc170), 'void:elements' => $vf1386a17eed513dff70798b0551dc170)); }
public function parseCurrencyPricesTpl($template = 'default', $pricesData = array(), iUmiObject $currentCurrency = null) { list($tpl_block, $tpl_item) = def_module::loadTemplates("emarket/currency/{$template}", 'currency_prices_block', 'currency_prices_item'); if (is_null($currentCurrency)) { $currentCurrency = $this->getCurrentCurrency(); } $block_arr = array(); $currencyIds = $this->getCurrencyList(); foreach ($currencyIds as $currency) { if ($currentCurrency->id == $currency->id) { continue; } if ($info = $this->formatCurrencyPrice($pricesData, $currency, $currentCurrency)) { if (!$info['original']) { $info['original'] = $info['actual']; } $info['price-original'] = $info['original']; $info['price-actual'] = $info['actual']; $items_arr[] = def_module::parseTemplate($tpl_item, $info); } } $block_arr['subnodes:items'] = $items_arr; return def_module::parseTemplate($tpl_block, $block_arr); }
/** * Получение списка последних просмотренных страниц * * @param string $template Шаблон для вывода * * @param string $scope Тэг(группировка страниц), без пробелов и запятых * @param bool $showCurrentElement Если false - текущая страница не будет включена в результат * @param int|null $limit Количество выводимых элементов * * @return mixed */ public function getRecentPages($template = "default", $scope = "default", $showCurrentElement = false, $limit = null) { if (!$scope) { $scope = "default"; } $hierarchy = umiHierarchy::getInstance(); $currentElementId = cmsController::getInstance()->getCurrentElementId(); list($itemsTemplate, $itemTemplate) = def_module::loadTemplates("content/" . $template, "items", "item"); session::getInstance(); $items = array(); if (isset($_SESSION['content:recent_pages'][$scope])) { foreach ($_SESSION['content:recent_pages'][$scope] as $recentPage => $time) { $element = $hierarchy->getElement($recentPage, true); if (!$element instanceof umiHierarchyElement) { continue; } if (!$showCurrentElement && $element->getId() == $currentElementId) { continue; } elseif (!is_null($limit) && $limit <= 0) { break; } elseif (!is_null($limit)) { $limit--; } $items[] = self::parseTemplate($itemTemplate, array('@id' => $element->getId(), '@link' => $element->link, '@name' => $element->getName(), '@alt-name' => $element->getAltName(), '@xlink:href' => "upage://" . $element->getId(), '@last-view-time' => $time, 'node:text' => $element->getName())); } } return self::parseTemplate($itemsTemplate, array("subnodes:items" => $items)); }
public function personal($template = 'default') { list($tpl_block) = def_module::loadTemplates("emarket/" . $template, "personal"); return def_module::parseTemplate($tpl_block, array()); }
public function lastlents($elementPath, $template = "default", $per_page = false, $ignore_paging = false) { if (!$per_page) { $per_page = $this->per_page; } list($template_block, $template_block_empty, $template_line, $template_archive) = def_module::loadTemplates("news/" . $template, "listlents_block", "listlents_block_empty", "listlents_item", "listlents_archive"); $curr_page = (int) getRequest('p'); if ($ignore_paging) { $curr_page = 0; } $parent_id = $this->analyzeRequiredPath($elementPath); if ($parent_id === false) { throw new publicException(getLabel('error-page-does-not-exist', null, $elementPath)); } $hierarchy_type_id = umiHierarchyTypesCollection::getInstance()->getTypeByName("news", "rubric")->getId(); $sel = new umiSelection(); $sel->addElementType($hierarchy_type_id); $sel->addHierarchyFilter($parent_id, 0, true); $sel->addPermissions(); $sel->addLimit($per_page, $curr_page); $result = umiSelectionsParser::runSelection($sel); $total = umiSelectionsParser::runSelectionCounts($sel); if (($sz = sizeof($result)) > 0) { $block_arr = array(); $lines = array(); for ($i = 0; $i < $sz; $i++) { $line_arr = array(); $element_id = $result[$i]; $element = umiHierarchy::getInstance()->getElement($element_id); $line_arr['attribute:id'] = $element_id; $line_arr['attribute:link'] = umiHierarchy::getInstance()->getPathById($element_id); $line_arr['xlink:href'] = "upage://" . $element_id; $line_arr['void:header'] = $lines_arr['name'] = $element->getName(); $line_arr['node:name'] = $element->getName(); $lines[] = self::parseTemplate($template_line, $line_arr, $element_id); $this->pushEditable("news", "rubric", $element_id); } if (is_array($parent_id)) { list($parent_id) = $parent_id; } $block_arr['subnodes:items'] = $block_arr['void:lines'] = $lines; $block_arr['total'] = $total; $block_arr['per_page'] = $per_page; return self::parseTemplate($template_block, $block_arr, $parent_id); } else { return $template_block_empty; } }
public function getCompareLink($elementId = null, $template = 'default') { if (!$elementId) { return; } if (!$template) { $template = "default"; } list($tpl_add_link, $tpl_del_link) = def_module::loadTemplates("emarket/compare/{$template}", 'add_link', 'del_link'); $elements = $this->getCompareElements(); $inCompare = in_array($elementId, $elements); $addLink = $this->pre_lang . '/emarket/addToCompare/' . $elementId . '/'; $delLink = $this->pre_lang . '/emarket/removeFromCompare/' . $elementId . '/'; $block_arr = array('add-link' => $inCompare ? null : $addLink, 'del-link' => $inCompare ? $delLink : null); return def_module::parseTemplate($inCompare ? $tpl_del_link : $tpl_add_link, $block_arr, $elementId); }
public function forget_do($template = "default") { static $macrosResult; if ($macrosResult) { return $macrosResult; } $forget_login = (string) getRequest('forget_login'); $forget_email = (string) getRequest('forget_email'); $hasLogin = strlen($forget_login) != 0; $hasEmail = strlen($forget_email) != 0; $user_id = false; list($template_wrong_login_block, $template_forget_sended) = def_module::loadTemplates("users/forget/" . $template, "wrong_login_block", "forget_sended"); list($template_mail_verification, $template_mail_verification_subject) = def_module::loadTemplatesForMail("users/forget/" . $template, "mail_verification", "mail_verification_subject"); if ($hasLogin || $hasEmail) { $sel = new selector('objects'); $sel->types('object-type')->name('users', 'user'); if ($hasLogin) { $sel->where('login')->equals($forget_login); } if ($hasEmail) { $sel->where('e-mail')->equals($forget_email); } $sel->limit(0, 1); $user_id = $sel->first ? $sel->first->id : false; } else { $user_id = false; } if ($user_id) { $activate_code = md5(self::getRandomPassword()); $object = umiObjectsCollection::getInstance()->getObject($user_id); $regedit = regedit::getInstance(); $without_act = (bool) $regedit->getVal("//modules/users/without_act"); if ($without_act || intval($object->getValue('is_activated'))) { $object->setValue("activate_code", $activate_code); $object->commit(); $email = $object->getValue("e-mail"); $fio = $object->getValue("lname") . " " . $object->getValue("fname") . " " . $object->getValue("father_name"); $email_from = regedit::getInstance()->getVal("//settings/email_from"); $fio_from = regedit::getInstance()->getVal("//settings/fio_from"); $mail_arr = array(); $mail_arr['domain'] = $domain = $_SERVER['HTTP_HOST']; $mail_arr['restore_link'] = "http://" . $domain . $this->pre_lang . "/users/restore/" . $activate_code . "/"; $mail_arr['login'] = $object->getValue('login'); $mail_arr['email'] = $object->getValue('e-mail'); $mail_subject = def_module::parseTemplateForMail($template_mail_verification_subject, $mail_arr, false, $user_id); $mail_content = def_module::parseTemplateForMail($template_mail_verification, $mail_arr, false, $user_id); $someMail = new umiMail(); $someMail->addRecipient($email, $fio); $someMail->setFrom($email_from, $fio_from); $someMail->setSubject($mail_subject); $someMail->setPriorityLevel("highest"); $someMail->setContent($mail_content); $someMail->commit(); $someMail->send(); $oEventPoint = new umiEventPoint("users_restore_password"); $oEventPoint->setParam("user_id", $user_id); $this->setEventPoint($oEventPoint); $block_arr = array(); $block_arr['attribute:status'] = "success"; return $macrosResult = def_module::parseTemplate($template_forget_sended, $block_arr); } else { $referer_url = getServer('HTTP_REFERER'); if (!strlen($referer_url)) { $referer_url = $this->pre_lang . "/users/forget/"; } $this->errorRegisterFailPage($referer_url); $this->errorNewMessage("%errors_forget_nonactivated_login%"); $this->errorPanic(); $block_arr = array(); $block_arr['attribute:status'] = "fail"; $block_arr['forget_login'] = $forget_login; $block_arr['forget_email'] = $forget_email; return $macrosResult = def_module::parseTemplate($template_wrong_login_block, $block_arr); } } else { $referer_url = getServer('HTTP_REFERER'); if (!strlen($referer_url)) { $referer_url = $this->pre_lang . "/users/forget/"; } $this->errorRegisterFailPage($referer_url); if ($hasLogin && !$hasEmail) { $this->errorNewMessage("%errors_forget_wrong_login%"); } if ($hasEmail && !$hasLogin) { $this->errorNewMessage("%errors_forget_wrong_email%"); } if ($hasEmail && $hasLogin || !$hasEmail && !$hasLogin) { $this->errorNewMessage("%errors_forget_wrong_person%"); } $this->errorPanic(); $block_arr = array(); $block_arr['attribute:status'] = "fail"; $block_arr['forget_login'] = $forget_login; $block_arr['forget_email'] = $forget_email; return $macrosResult = def_module::parseTemplate($template_wrong_login_block, $block_arr); } }
public function process($template = null) { $order = $this->order; $order->order(); $order->setPaymentStatus('initialized'); // Ставим заказу статус "инициализирована оплата" // Загружаем API класс LiqPay objectProxyHelper::includeClass('emarket/classes/payment/api/', 'LiqPay'); $liqpay = new LiqPay($this->getValue('public_key'), $this->getValue('private_key')); $sandbox_status = 0; if ($this->getValue('sandbox_status')) { $sandbox_status = 1; } $domain = $_SERVER['HTTP_HOST']; $html = $liqpay->cnb_form(array('version' => '3', 'sandbox' => $sandbox_status, 'amount' => $order->getActualPrice(), 'currency' => $this->getValue('currency'), 'description' => $this->getValue('desc'), 'pay_way' => $this->getValue('pay_way'), 'order_id' => $order->getId(), 'type' => 'buy', 'result_url' => $domain . '/emarket/purchase/result/successful/?order_id=' . $order->getId() . '&order_type=liq_pay')); $param = array(); $param['form_html'] = $html; list($templateString) = def_module::loadTemplates("emarket/payment/liqpay/" . $template, "form_block"); return def_module::parseTemplate($templateString, $param); }