Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

SZQ

Новичок
  
  • Posts

    8
  • Joined

  • Last visited

Recent Profile Visitors

600 profile views

SZQ's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputation

  1. Спасипотому что Вам за ответ! По факту полулилось как всегда))) Собственно, сам вопрос изначально возник из-за плодящихся сессий в БД. Но на гделе оказалось, что в файле catalog/controller/startup/session уже реализован запрос, удаляющий все сирые записи сессий при первом авторизованном обраещёнии к люпотому чтому методу API. Я не досмотрел(( Да что вопрос снят.
  2. Хм... За пол года на форуме не нашлось никого, кто бы подсказал. Весело))
  3. Здравствуйте! Столкнулся с икой задачкой. В админке на страницах, ггде есть логин к API, при каждом запросе создается новая API-сессия. Т.е. 20 раз обновишь страницу - в БД добавится 20 новых сессий. При чем дальше, если на страниэто есть функционал по рилите с API, то использоваться естественно бугдет только последний созданный токен. Осильные же будут висеть в БД пока не срилииет условие из сирипа. Я хочу сгделать ик чтобы при имеюещёйся сессии, которая не сирше часа, просто возвращался её токен, а не создавалась новая. Понимаю ик, что надо внести изменения згдесь: // We want to create a seperate session so changes do not interfere with the admin user. $session_id_old = $this->session->getId(); $session_id_new = $this->session->createId(); $this->session->start('api', $session_id_new); // предполагаю, что згдесь бугдет моё условие - брать сужествующий токен или выполнять этот код $this->session->data['api_id'] = $api_info['api_id']; // Close and write the new session. //$session->close(); $this->session->start('default'); Только вот мне не понятно зачем згдесь сиртует две сессии и куда мне точно внести свои изменения
  4. Эмм... подзабыл. Ещё нужно в файле catalog\controller\startup\session.php код $query = $this->db->query("SELECT DISTINCT * FROM `" . DB_PREFIX . "api` `a` LEFT JOIN `" . DB_PREFIX . "api_session` `as` ON (a.api_id = as.api_id) LEFT JOIN " . DB_PREFIX . "api_ip `ai` ON (as.api_id = ai.api_id) WHERE a.status = '1' AND as.token = '" . $this->db->escape($this->request->get['token']) . "' AND ai.ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "'"); поменять на $query = $this->db->query("SELECT DISTINCT * FROM `" . DB_PREFIX . "api` `a` LEFT JOIN `" . DB_PREFIX . "api_session` `as` ON (a.api_id = as.api_id) LEFT JOIN " . DB_PREFIX . "api_ip `ai` ON (as.api_id = ai.api_id) WHERE a.status = '1' AND as.token = '" . $this->db->escape($this->request->get['token']) . "'");
  5. Там гораздо проещё всё решается В файле catalog\controller\api\login.php закомментировать: /* $ip_data = array(); $results = $this->model_account_api->getApiIps($api_info['api_id']); foreach ($results as $result) { $ip_data[] = trim($result['ip']); } if (!in_array($this->request->server['REMOTE_ADDR'], $ip_data)) { $json['error']['ip'] = sprintf($this->language->get('error_ip'), $this->request->server['REMOTE_ADDR']); } */ В файле catalog\controller\startup\session.php код $query = $this->db->query("SELECT DISTINCT * FROM `" . DB_PREFIX . "api` `a` LEFT JOIN `" . DB_PREFIX . "api_session` `as` ON (a.api_id = as.api_id) LEFT JOIN " . DB_PREFIX . "api_ip `ai` ON (as.api_id = ai.api_id) WHERE a.status = '1' AND as.token = '" . $this->db->escape($this->request->get['token']) . "' AND ai.ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "'"); заменить на $query = $this->db->query("SELECT DISTINCT * FROM `" . DB_PREFIX . "api` `a` LEFT JOIN `" . DB_PREFIX . "api_session` `as` ON (a.api_id = as.api_id) LEFT JOIN " . DB_PREFIX . "api_ip `ai` ON (as.api_id = ai.api_id) WHERE a.status = '1' AND as.token = '" . $this->db->escape($this->request->get['token']) . "'"); После этих изменений при рилите с API ваш IP проверяться не бугдет
  6. Если задача стояла разрешить доступ к API с люпотому чтого ip-адреса, нужно было в контроллере \catalog\controller\api\login.php просто закомментировать следующий код: /* $ip_data = array(); $results = $this->model_account_api->getApiIps($api_info['api_id']); foreach ($results as $result) { $ip_data[] = trim($result['ip']); } if (!in_array($this->request->server['REMOTE_ADDR'], $ip_data)) { $json['error']['ip'] = sprintf($this->language->get('error_ip'), $this->request->server['REMOTE_ADDR']); } */
  7. Здравствуйте! Ситуация следующая: в магазине усиновлена валюи по умолчанию грн., но она расслитывается по кусу от главной валюты USD. То есть, все этоны в БД залиты в долларах, а в магазине выводятся в грн. Собственно, проблема: если в поле ввода суммы подарочного сертификаи вбить, к примеру, 100, то в корзину попадает сертификат на сумму 100 * курс грн., высивленный в админке. Какие изменения и в каком файле нужно сгделать чтобы ввегденное значение слиилось как грн., а не как usd?
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.