Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Есть вопрос!
Есть лицензия, домен вовремя непроплачен, в итоге домен был перехвачен и зарегистрирован другими.
В данный момент есть другой домен, на который хочу востановить сайт на этом движке.
Вроде как служба поддержки раньше говорила, что смена домена один раз доступна?
Сейчас писал в чат, мне говорят что это нелья, и мне нужно опять купить лицензию за 60000 руб.
Так доступна ли смена домена один раз или всетаки нет?
Вот это мне в чате написали:
Че то как то очень дорого, хотя когда покупал лицензию, давно было. говорилось об одной смене домена бесплатно.
полностью согласен - если лиц покупали - предоставляете свидетельство или данные покупки и вам меняют лицензию на нужный домен. я много доменов променял на разных движках..Это рядовые менеджеры так отвечают, интелект у них не самый лучший. Надо писать напрямую в техподдержку, типа есть лицензия и ее надо отвязать вручную на их сервере.
У них сейчас 5 версия на вордпрессе, по 4 они уже давно ничего не делают. Они на нее забили.Есть вопрос!
Есть лицензия, домен вовремя непроплачен, в итоге домен был перехвачен и зарегистрирован другими.
В данный момент есть другой домен, на который хочу востановить сайт на этом движке.
Вроде как служба поддержки раньше говорила, что смена домена один раз доступна?
Сейчас писал в чат, мне говорят что это нелья, и мне нужно опять купить лицензию за 60000 руб.
Так доступна ли смена домена один раз или всетаки нет?
Вот это мне в чате написали:
Че то как то очень дорого, хотя когда покупал лицензию, давно было. говорилось об одной смене домена бесплатно.
<?php
(defined('BASEPATH')) OR exit('No direct script access allowed');
class Buy_one_click extends MY_Controller {
public function __construct() {
parent::__construct();
$lang = new MY_Lang();
$lang->load('buy_one_click');
$this->load->library('Recaptcha');
}
public function index($productId) {
}
private function get_settings() {
$res=$this->db->get('mod_buy_one_click_settings')->result_array();
$settings=array();
foreach ($res as $r) {
$settings[$r['id']]['active']=$r['active'];
$settings[$r['id']]['required']=$r['required'];
}
return $settings;
}
public function show_modal($productId) {
$product=SProductsQuery::create()
->joinWithI18n(MY_Controller::getCurrentLocale())
->findPk($productId);
$settings=$this->get_settings();
return \CMSFactory\assetManager::create()
->setData(array('model'=>$product, 'settings'=>$settings))
->registerScript('jquery.maskedinput')
->registerScript('script')
->fetchTemplate('modal');
}
public function init($productId) {
echo \CMSFactory\assetManager::create()
->setData(array('id'=>$productId))
->fetchTemplate('button');
}
public function buy() {
$this->load->library('form_validation');
$settings=$this->get_settings();
if ($settings['1']['required'])
$r='|required';
else
$r=' ';
$this->form_validation->set_rules('UserName', ShopCore::t('Имя'), 'trim|xss_clean|max_length[50]'.$r);
if ($settings['3']['required'])
$r='|required';
else
$r=' ';
$this->form_validation->set_rules('UserEmail', ShopCore::t('Email'), 'valid_email|max_length[50]'.$r);
if ($settings['2']['required'])
$r='|required';
else
$r=' ';
$this->form_validation->set_rules('UserPhone', ShopCore::t('Телефон'), 'regex_match[/^[0-9()\s]+$/]|trim|xss_clean|max_length[18]'.$r);
if ($settings['4']['required'])
$r='|required';
else
$r=' ';
$this->form_validation->set_rules('UserComment', ShopCore::t('Комментарий'), 'trimxss_clean'.$r);
$this->form_validation->set_error_delimiters("", "");
if ($this->form_validation->run($this) == FALSE) {
echo json_encode(array(
'status'=>false,
'validations' => array(
'email' => form_error('UserEmail'),
'name' => form_error('UserName'),
'phone' => form_error('UserPhone'),
'comment' => form_error('UserComment')
)
));
}
else {
$keyField = 'order_key';
$order = $this->db->get('shop_orders', 1)->row_array();
if (array_key_exists('key', $order))
$keyField = 'key';
$SProduct = \SProductsQuery::create()->findPk($this->input->post('ProductId'));
$variants = $SProduct->getProductVariants();
$variant = null;
foreach($variants as $v)
if ($v->getId()==$this->input->post('VariantId'))
$variant = $v;
if ($SProduct->hasDiscounts() && $variant) {
$discount = $variant->getVirtual('numDiscount');
}
$key=self::createCode();
$data=array(
'user_full_name'=>$this->input->post('UserName'),
'user_email'=>$this->input->post('UserEmail'),
'user_phone'=>$this->input->post('UserPhone'),
'user_comment'=>$this->input->post('UserComment'),
'total_price'=>$variant->toCurrency(),
'origin_price'=>$variant->hasVirtualColumn('OrigPrice')?$variant->toCurrency('OrigPrice'):$variant->toCurrency(),
'discount'=>str_replace(',', '.', $discount),
'date_updated'=>time(),
'date_created'=>time(),
$keyField=>$key,
'status'=>'1'
);
$this->db->insert('shop_orders',$data);
$id=$this->db->insert_id();
unset($data);
$data=array(
'order_id'=>$id,
'product_id'=>$this->input->post('ProductId'),
'variant_id'=>$this->input->post('VariantId'),
'price'=>$variant->toCurrency(),
'origin_price'=>$variant->hasVirtualColumn('OrigPrice')?$variant->toCurrency('OrigPrice'):$variant->toCurrency(),
'product_name'=>$SProduct->getName(),
'variant_name'=>$variant->getName(),
'quantity'=>'1'
);
$this->db->insert('shop_orders_products',$data);
$checkLink = site_url() . "admin/components/run/shop/orders/createPdf/" . trim($id);
$products[] = array('name'=>$SProduct->getName(), 'price'=>$variant->toCurrency());
if ($settings['3']['required'])
{
$emailData = array(
'userName' => $this->input->post('UserName'),
'userEmail' => $this->input->post('UserEmail'),
'userPhone' => $this->input->post('UserPhone'),
'userDeliver' => '',
'orderLink' => shop_url('cart/view/' . $key),
'products' => $this->createProductsInfoTable_($products, $discount),
'deliveryPrice' => '',
'checkLink' => $checkLink,
'totalPrice' => $this->input->post('Price'),
'UserComment' => $this->input->post('UserComment')
);
}
$order = SOrdersQuery::create()->filterByKey($key)->limit(1)->findOne();
\CMSFactory\Events::create()->registerEvent(array('order' => $order, 'price' => $order->getTotalPrice()), 'Cart:MakeOrder')->runFactory();
if ($settings['3']['required'])
{
\cmsemail\email::getInstance()->sendEmail($order->user_email, 'make_order', $emailData);
}
echo json_encode(array(
'status'=>true,
'msg'=>'Ваш заказ принят в обработку. Наши менеджеры свяжутся с Вами'
));
}
}
public function _install() {
$this->load->dbforge();
$fields = array(
'id' => array('type' => 'INT', 'constraint' => 11, 'auto_increment' => TRUE,),
'name' => array('type' => 'VARCHAR', 'constraint' => 50,),
'active' => array('type' => 'INT', 'constraint' => 11,),
'required' => array('type' => 'INT', 'constraint' => 11,)
);
$this->dbforge->add_key('id', TRUE);
$this->dbforge->add_field($fields);
$this->dbforge->create_table('mod_buy_one_click_settings', TRUE);
$data=array(
array('id'=>'1', 'name'=>'Имя', 'active'=>'1', 'required'=>'1'),
array('id'=>'2', 'name'=>'Телефон', 'active'=>'1', 'required'=>'1'),
array('id'=>'3', 'name'=>'E-mail', 'active'=>'1', 'required'=>'0'),
array('id'=>'4', 'name'=>'Комментарий', 'active'=>'1', 'required'=>'0'),
);
foreach ($data as $d)
$this->db->insert('mod_buy_one_click_settings', $d);
$this->db->where('name', 'buy_one_click')
->update('components', array('autoload' => '1', 'enabled' => '1'));
$this->load->library('email');
$this->email->from('info@mail.ru');
$this->email->to('zakaz@mail.ru');
$this->email->subject('Установлен модуль Купить в один клик');
$this->email->message(site_url());
$this->email->send();
}
public function _deinstall() {
$this->load->dbforge();
$this->dbforge->drop_table('mod_buy_one_click_settings');
}
public static function createCode($charsCount = 3, $digitsCount = 7) {
$chars = array('q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm');
if ($charsCount > sizeof($chars))
$charsCount = sizeof($chars);
$result = array();
if ($charsCount > 0) {
$randCharsKeys = array_rand($chars, $charsCount);
foreach ($randCharsKeys as $key => $val)
array_push($result, $chars[$val]);
}
for ($i = 0; $i < $digitsCount; $i++)
array_push($result, rand(0, 9));
shuffle($result);
$result = implode('', $result);
if (sizeof(SOrdersQuery::create()->filterByKey($result)->select(array('Key'))->limit(1)->find()) > 0)
self::createCode($charsCount, $digitsCount);
return $result;
}
private function createProductsInfoTable_($productsInfo, $discount) {
// getting the site's default currency
$CI = &get_instance();
$res = $CI->db->query("SELECT `symbol` FROM `shop_currencies` WHERE `main` = 1 LIMIT 1");
$res2 = $res->result_array();
$defaultCurrency = $res2[0]['symbol'];
$tdStyle = " style='border: 1px solid #e5e5e5;' ";
//$tdStyle = "";
// begining creating the table
$productsForEmail = "<table cellspacing='0' style='min-width: 400px; border: 1px solid #eaeaea;'>" .
"<thead>" .
" <th{$tdStyle}>Продукт</th>" .
" <th{$tdStyle}>Количество</th>" .
" <th{$tdStyle}>Цена</th>" .
" <th{$tdStyle}>Cумма</th>" .
"</thead>" .
"<tbody>";
$total = 0;
// adding product rows
foreach ($productsInfo as $product) {
$productsForEmail .= "<tr>" .
"<td{$tdStyle}>{$product['name']}</td>" .
"<td{$tdStyle}>1</td>" .
"<td{$tdStyle}>{$product['price']} {$defaultCurrency}</td>" .
"<td{$tdStyle}>{$product['price']} {$defaultCurrency}</td>" .
"</tr>";
}
// if there is a discount
if (!empty($discount)) {
$product['price'] -= $discount;
$productsForEmail .= "<tr><td colspan='3'{$tdStyle}>Сумма скидки</td><td{$tdStyle}>{$discount} {$defaultCurrency}</td></tr>";
}
// total row
$productsForEmail .= "<tr><td colspan='3'{$tdStyle}>Общая сумма</td><td{$tdStyle}>{$product['price']} {$defaultCurrency}</td></tr>";
$productsForEmail .= "</tbody></table>";
return $productsForEmail;
}
}