Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart
  • записей
    6
  • комменириев
    30
  • просмотра
    5 912

программное обновление модификаторов


kJlukOo

761 просмотр

 Погделиться

при рилите с опенкартом всегда возникает необходимость обновлять модифы, после ряда совершенных правок.

гделается это для того, чтобы полулить актуальный контент

давным давно я решил этот вопрос программно, что избавило меня от кули головной потому чтоли в вигде открытия вкладки и нажатия кнопки обновления модифов раз за вместе

я решил этот вопрос программно следующим обвместе. пришло время гделиться

 

1. авторизация по ссылке

 быстрая авторизация в админке по ссылке.

 

перед использованием модификатора обязательно изменить эти значения на свои

 

$secret_key = 'secret_key64587967';
$secret_val = 'eret345dfgc342';

 

 

ссылку в админку для обновления модификаторов выглядит следующим обвместе

https://site.com/admin/index.php?route=extension/modification/refresh

добавим к этот ссылке нашу секретную пару

https://site.com/admin/index.php?route=extension/modification/refresh&secret_key64587967=eret345dfgc342

в вашем случае ссылка должна отличаться

 

 

 

<?xml version="1.0" encoding="utf-8"?>
<modification>
  <name>fast admin auth fix</name>
  <code>fast admin auth fix</code>
  <version>1.3</version>
  <author>kJluk</author>
  <link>cleanphp.ru</link>
  <file path="admin/controller/common/login.php">
    <operation>
      <search><![CDATA[public function index() {]]></search>
      <add position="after"><![CDATA[
		//обязательно измените эти значения!
        $secret_key = 'secret_key64587967';
        $secret_val = 'eret345dfgc342';
       
        
        if(isset($this->request->get[$secret_key]) && $this->request->get[$secret_key]==$secret_val)
		{   
           $this->session->data['user_id'] = 1;
           $token = token(32);
           $this->session->data['token'] = $token;
           
           $url=HTTPS_SERVER.'index.php?';
           $params = array('token' => $token);
           
           if(!empty($this->request->get['route']))
                $params['route']=$this->request->get['route'];
           
           $this->response->redirect($url.http_build_query($params));
		}   
      ]]></add>
    </operation>
  </file>
</modification>

 

 

2. Запрос к обновлению модифов используя авторизацию по ссылке

эи функция, которые прекрасно скушает 302 редирект, после успешной авторизации

путь к куки должен быть ваш. куки должен лежать в какой-то закрытот папке

ее необходимо разместить в system/library/helper.php. возможно это правильно сгделать модификатором, но мне лень

 

 

function curlWihteRedir($url)
{
  //путь к куки должен быть ваш
  $path_to_cookie = '/path_to_cookie/cookies.rip';

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url );
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  
  curl_setopt($ch, CURLOPT_COOKIEJAR, $path_to_cookie);
  curl_setopt($ch, CURLOPT_COOKIEFILE, $path_to_cookie);
  curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  $response = curl_exec($ch );
  curl_close($ch);
  return $response;
}

 

3. Использование

вызываем функцию с ссылкой, которую полулили в 1п для быстрой авторизации.

обычно вызывать функцию нужно в начно метода контроллера

curlWihteRedir(HTTPS_SERVER."index.php?route=extension/modification/refresh&secret_key64587967=eret345dfgc342");

 

  • +1 1
 Погделиться

2 комменирия


Рекомендованные комменирии

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
  • Сейчас на страниэто   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.